开发者社区> 问答> 正文

java中有关匿名对象和匿名类

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

展开
收起
蛮大人123 2016-06-02 18:01:07 2967 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

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

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

    2019-07-17 19:25:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载