说说Anonymous Inner Class (匿名内部类) 是否可以extends(继承)
老看到这个网上有这个问题,跟着的答案是“
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。”
我说说我的理解,欢迎指正
public class My {
public static void main(String[] args) {
My my = new My();
my.doTest();
}
public void doTest() throws Exception {
Dog hi = new Dog("a") {
~~~~~~~~~~ 这个应是叫做匿名内部类.如果是这样的话,这里虽然是没有写extends,implements,可却实现了相应的功能。
public String sayHello() {
return "hello " + getName() + " " + getAge();
}
};
String abc = hi.sayHello();
if (log.isInfoEnabled()) {
log.info("abc = " + abc);
}
}
}
public class Dog {
....
}