1

この質問のコードを参照して、外部クラスの拡張がどのように機能するかを知りたいと思いました。私が言いたいのは、クラス (内部クラス) が 2 つの場所 (内部クラスであるために外部クラスで、外部クラスを拡張するためにそれ自体で) でその定義を持つことができる方法です。これが行われると中に入るもの。

ありがとうございました

コード

public class Something {
    private int y;

        class IsSomething extends Something {

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

        }
}
4

1 に答える 1

2

内部クラスには、その外部クラスのインスタンスへの参照があります。これはhas-a関係です。

外部クラスを拡張する場合、外部クラスとのis-a関係も持ちます。

したがって、次の 2 つの最上位クラスと同等です。

public class Foo {
    ...
}

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