黑马程序员技术交流社区
标题:
匿名对象内部内有什么区别
[打印本页]
作者:
意念痴心灬戒贪
时间:
2015-12-20 23:53
标题:
匿名对象内部内有什么区别
刚学完匿名对象和匿名内部类,表示 还是不太理解他们,你们是怎么理解的!~?
作者:
Hi.。
时间:
2015-12-21 02:23
先说一下匿名对象,就是没有名字的对象,当你用一个方法,比如
Person p = new Person();
p.eat();
这个方法只调用一次时,这里用匿名对象可以简化代码,直接
new Person().eat();//new Person()表示创建了Person类的对象,直接调用对象的方法
作者:
Hi.。
时间:
2015-12-21 02:32
再说说匿名内部类。
abstract class Person{
abstract eat();}
}
class Student extends Person {
eat(){s.o.p("吃肉");}
}
看代码就知道,当我们想使用它时,需要先创建Person的一个子类,在去创建子类的实例,去调用方法。
而如果用匿名内部类,直接
Person p = new Person() {
eat(){
s.o.p("吃肉");
}
};
就可以实现了。大大简化了代码
作者:
Hi.。
时间:
2015-12-21 02:34
Hi.。 发表于 2015-12-21 02:32
再说说匿名内部类。
abstract class Person{
abstract eat();}
补充:只要这个类是抽象类,或者是接口,都可以使用匿名内部类的方式来实现。但匿名内部类只调用一次,而且重写的方法不要过多,最好是只有一个(超过3个就不要用了)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2