黑马程序员技术交流社区
标题:
匿名内部类的小测试的问题
[打印本页]
作者:
乖睡觉咯
时间:
2013-8-19 15:08
标题:
匿名内部类的小测试的问题
本帖最后由 乖睡觉咯 于 2013-8-19 15:12 编辑
new Object(){
void method(){
System.out.println("method run");
}
}.method();
复制代码
第一个和第二个 那个是正确的??为什么??
作者:
乖睡觉咯
时间:
2013-8-19 15:13
第二个
Object obj = new Object(){
void method(){
System.out.println("method run");
}
};
obj.method();
作者:
gulup
时间:
2013-8-19 15:23
匿名,顾名思义,就是没有名字的,那么结果就不用我说了吧。
作者:
单凯
时间:
2013-8-19 15:39
第一个是对的,第二个是错的匿名内部类有点像子父类继承,定义内部类一般是重写外部类的方法,或者实现某个接口
你的第一个程序,定义了匿名内部类,相当于继承了Object内的所有方法,然后又增加了一个method的功能,
自己new了一个对象,然后使用了自己的功能,没有问题。
第二个程序,与子父类的多态原理类似,因为Object里面没有method的方法,所以不能用Object的对象引用去调用这个方法
作者:
杨增坤
时间:
2013-8-19 22:23
楼主,要是理解了,请把问题的"未解决"更改为"已解决"
谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2