黑马程序员技术交流社区

标题: 匿名内部类问题 [打印本页]

作者: 袁劲松    时间: 2014-1-17 11:27
标题: 匿名内部类问题
匿名内部类)是否可以extends继承其它类,是否可以implements(实现)interface(接口)?
作者: 长石    时间: 2014-1-17 11:37
匿名内部类在实现时必须借助一个类或者一个接口的,若从这个层次上讲它是可以继承其他类也可以实现接口的,但若通过extends或implements关键字那是不可能的。
作者: 贺利英    时间: 2014-1-17 11:37
匿名内部类其实就是一个匿名子类对象。如果你已经将此匿名子类对象定义好了,那么是没办法再继承其他的类或者实现其他的接口的。匿名内部类的格式:new 父类名&接口名(){ 定义子类成员或者覆盖父类方法 }.方法。

作者: xu6148152    时间: 2014-1-17 11:38
这个问题好犀利。

匿名类在运行的时候采用了多态机制。

匿名类运行时本来就是继承接口或者抽象类,并且来复写其父类的方法。
作者: 放课后小朋友    时间: 2014-1-17 11:41
1、匿名内部类说白了就是“内部类的简写格式”。
2、定义匿名内部类的前提:内部类必须是“继承一个类”或者“执行一个接口”,这样才可以创建匿名内部类。
3、匿名内部类格式:new “父类”或者是“接口”( ){ 定义子类的内容 }.方法
4、其实匿名内部类就是一个匿名的子类对象,而且这个对象有点胖,内容有点多,可以理解成带内容的对象。
5、注意:匿名内部类中定义的方法最好不要超过3个!
----------自己总结内容,请勿复制,也勿粘贴{:soso_e144:}---------
作者: 够了没有    时间: 2014-1-17 12:05
匿名内部类的这个内部类一定是一个子类,其中也不要忘了Object这个类的子类(有时候容易忽视)。
这个内部类用的是父类名,父类包括一般父类、接口、抽象类、Object等。
所以,匿名内部类是可以implements(实现)interface(接口)的。
作者: 胡焱老师    时间: 2014-1-17 12:48
和匿名函数 有着相似之处    可以互相比较   加深印象
作者: 黄晓鑫    时间: 2014-1-17 13:02
匿名内部类本身就是其他类的子类 而且没有名字 本身就继承了一个类 获取实现了一个接口 而且没有名字 不能实现其他接口 而且Java只支持单继承 所以也就无法再继承一个类 而Java支持多继承 你可以在匿名内部类中在定义一个内部类 去实现其他接口 Java支持多层继承 所以可以在继承一个类
作者: 高丽华    时间: 2014-1-17 15:01
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2