参考本规范中的代码 Question 我想知道外部类的扩展是如何工作的。我的意思是,一个类(内部类)怎么能在两个地方有它的定义(在外部类中由于是内部类,而在其本身中由于扩展了外部类)。当这件事完成后,里面会有什么。
非常感谢。
代码
public class Something { private int y; class IsSomething extends Something { public void print() { System.out.println("123"); } } }
内部类具有对其外部类的实例的引用。这是一个 第a部分 关系
如果它扩展了它的外部类,那么它也有一个 是-a 与外部阶级的关系。
因此,它相当于以下两个顶级类:
public class Foo { ... } public class Bar extends Foo { private Foo outerFoo; ... }