问题描述
- Java面试题,求解答!!
-
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
解决方案
匿名内部类可以从其他类extend,也可以实现一个接口。
匿名类implements 接口的例子
addMouseListener(new MouseListener(){
...//这里需要实现所有的方法,大概有5、6个
});
jdk还提供了另一个类 MouseAdapter,这个类实现了MouseListener,但是所有的方法都是空实现,覆盖需要用到的即可
匿名类extend 父类的例子
addMouseListener(new MouseAdapter(){
..//这里覆盖需要的方法就可以,而不需要实现全部
});
解决方案二:
匿名内部内既可以扩展类,也可以实现接口,但是不能二者兼备,而且若是实现接口也只能实现一个接口。java编程思想(第四版) 10.6章 你可以自己看下
解决方案三:
匿名的内部类是没有名字的内部类。不能extends其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
解决方案四:
new Filter() {
@Override
public void doFilter() {
}
}
这算不算?
解决方案五:
匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements了。
很简单推荐一看:http://www.cnblogs.com/o-andy-o/archive/2012/12/22/2829530.html
时间: 2024-09-11 22:32:19