2 u011040164 u011040164 于 2013.06.13 18:00 提问

Java面试题,求解答!!

Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

5个回答

lucumu
lucumu   2013.06.17 11:29

匿名内部类可以从其他类extend,也可以实现一个接口。
匿名类implements 接口的例子

addMouseListener(new MouseListener(){
    ...//这里需要实现所有的方法,大概有5、6个
});

jdk还提供了另一个类 MouseAdapter,这个类实现了MouseListener,但是所有的方法都是空实现,覆盖需要用到的即可

匿名类extend 父类的例子

addMouseListener(new MouseAdapter(){
    ..//这里覆盖需要的方法就可以,而不需要实现全部
});
u010982200
u010982200   2013.06.18 19:22

匿名内部内既可以扩展类,也可以实现接口,但是不能二者兼备,而且若是实现接口也只能实现一个接口。java编程思想(第四版) 10.6章 你可以自己看下

Jave_
Jave_   2013.06.13 18:05

匿名的内部类是没有名字的内部类。不能extends其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

lucumu
lucumu 匿名类可以可以是由 extend或是implements的,非匿名内部类和接口除了访问域上有区别其他跟正常的类和接口别无二致。
4 年多之前 回复
u011040164
u011040164 嗯,谢谢
4 年多之前 回复
ygycomon
ygycomon new Filter() {}
4 年多之前 回复
ygycomon
ygycomon   Rxr 2013.06.13 18:32

new Filter() {
@Override
public void doFilter() {
}
}

这算不算?

yjsxxgm
yjsxxgm   2013.07.09 15:29

匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements了。
很简单推荐一看:http://www.cnblogs.com/o-andy-o/archive/2012/12/22/2829530.html

Csdn user default icon
上传中...
上传图片
插入图片