引用这个Question中的代码我想知道外部类的扩展是如何工作的。我的意思是一个类(内部类)如何可以在两个地方有其定义(由于是内部类而在外部类中以及由于扩展外部类而在其本身中)。完成后里面会发生什么。
谢谢
代码
public class Something {
private int y;
class IsSomething extends Something {
public void print() {
System.out.println("123");
}
}
}
最佳答案
内部类具有对其外部类的实例的引用。这是一种有关系。
如果它扩展其外部类,它也与其外部类具有is-a关系。
所以它相当于以下两个顶级类:
public class Foo {
...
}
public class Bar extends Foo {
private Foo outerFoo;
...
}
关于java - 扩展外部类在java中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008583/