2 u011359326 u011359326 于 2016.03.07 17:24 提问

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

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

2个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.07 17:35
已采纳

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

 new Date();

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

  Out anonyInter=new Out(){// 获取匿名内部类实例   

                void show(){//重写父类的方法   
                    System.out.println("this is Anonymous InterClass showing.");   
                }   
            };   
            anonyInter.show();// 调用其方法   

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

caozhy
caozhy   Ds   Rxr 2016.03.07 17:28

是的,但是很容易区分,一个有花括号在后面里面还有方法,一个就是类,括号参数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!