u011359326
提问之星
采纳率99.8%
2016-03-07 09:24

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • wojiushiwo945you 毕小宝 5年前

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

     new Date();
    

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

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

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

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

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

    点赞 1 评论 复制链接分享