1

参考这个问题中的代码,我想知道外部类的扩展是如何工作的。我的意思是一个类(内部类)如何在两个地方有它的定义(由于是内部类而在外部类中,由于扩展了外部类而在其本身中)。完成后里面有什么。

谢谢

编码

public class Something {
    private int y;

        class IsSomething extends Something {

            public void print() {
                System.out.println("123");
            }

        }
}
4

1 回答 1

2

内部类具有对其外部类实例的引用。这是一种关系。

如果它扩展了它的外部类,它和它的外部类也有一个is-a关系。

所以它相当于以下两个顶级类:

public class Foo {
    ...
}

public class Bar extends Foo {
    private Foo outerFoo;
    ...
}
于 2013-04-15T07:06:31.370 回答