本帖最后由 夏诗瑶 于 2012-9-16 21:43 编辑
//首先,内部类其实就是一个子类对象
//其实内部类的出现,在一定意义上实现了多继承。因为内部类 可以有多个,分别继承别的类。外部类也可以用内部类里的方法了。
//然后,关于你的问题。子类如果想继承抽象内部类,就必须在这个类中定义一个带有外部类对象的构造方法,并在构造方法中调用外部类.super();
代码如下:
class Outer {
abstract class Inner {
abstract void show();
public void print() {
}
}
}
class Test extends Outer.Inner {// 如果不这么继承,必须导入Inner类的包。
Test(Outer out) {
out.super();
}
@Override
void show() {
}
}
|