提问之星
2016-03-07 09:24
采纳率: 99.8%
浏览 1.4k
已采纳

java中匿名对象和匿名类都有关键词new吧

java中匿名对象和匿名类都有关键词new吧
那他们应该怎么区分呢
是不是匿名类就没有方法体
匿名对象就有方法体呢
具体是如何区分的呢

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 毕小宝 2016-03-07 09:35
    已采纳

    首先,匿名对象是没有变量接收的对象,例如

     new Date();
    

    这就是定义了一个Date 类型的匿名对象,之所以叫匿名,是因为它没有变量接收,不能调用对象的.操作。
    其次,匿名类是没有显示定义类文件的类,但它不一定是匿名对象,例如:

      Out anonyInter=new Out(){// 获取匿名内部类实例   
    
                    void show(){//重写父类的方法   
                        System.out.println("this is Anonymous InterClass showing.");   
                    }   
                };   
                anonyInter.show();// 调用其方法   
    

    匿名类是有方法体的,使用匿名内部类只是在这地方想对某个类有特殊的实现,而又不想专门定义一个实现类,就用匿名类了。
    根本没有可比性啊。

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(1条)

相关推荐 更多相似问题