提问之星
2016-01-05 14:26
采纳率: 99.8%
浏览 2.7k
已采纳

java当中如何区分匿名对象和匿名类

java当中如何区分匿名对象和匿名类

有没有匿名方法这种概念

学了几个月了,感觉自己还是新手状态,很多基本概念还不是很清楚

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

2条回答 默认 最新

  • RyanHuen 2016-01-05 16:13
    已采纳

    匿名对象:
    Person类:
    new Person(); 这就是一个匿名对象
    匿名类:
    new Person(){
    String name;
    };
    这就是一个匿名类

    简单说就是,匿名对象还是一个对象,它必须有已经写好的成员变量、属性、方法

    匿名类,在声明它的对象的时候,才对它进行代码的构造(封装它的成员变量、属性、方法等)

    匿名对象:一个对象只需要使用一次的时候,通常使用匿名对象

    匿名类:比如我们需要一个监听类,并且在实例化这个监听类的时候才需要实现这个监听类内部的方法,那么使用匿名类就最方便了

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2016-01-05 14:30

    java8的lambda表达式可以算匿名方法
    匿名对象其实往往说的是匿名类,不是很严格。但是匿名对象本身也是存在的。比如

    void foo(Car car) { ... }
    调用
    foo(new Car()); //此时传进去的参数,就是一个匿名的对象。
    还有
    Car[] cars = new Car[10];
    cars[0] = new Car();
    这里的Car也没有名字。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题