私は内部クラスからの継承について読んでいたし、私は以下のコードがどのように機能するかを理解しようとして捕まってしまった。それにこのInnerクラスの継承の例はどのように機能しますか?
class Outer{
class Inner{
}
}
class Derived extends Outer.Inner{
Derived(Outer o){
o.super();
}
}
私の知る限りでは、キーワードsuperはスーパークラスを指し、スーパー()だなし引数のコンストラクタ。 Outerクラスの場合、スーパークラスはObjectクラスです。
私は、このコードがどのように動作するかを理解したいと思います。
Objectクラスのインスタンス化によってInnerクラスの拡張が可能になるのはなぜですか?
Objectクラスインスタンスの作成は、Outerクラスオブジェクトの作成と何が関係していますか?
"o.super();"を含む行を削除します。原因エラー:
java:p.Outer.Innerを含む囲むインスタンスが必要です
私は多くの記事を読んでいますが、どのように動作するのかわかりません。
私はどんな答えにも喜ばれるでしょう。
テストそれを出す。すべてのコンストラクタにprintln()行を入れて、それをプリントアウトする順序を調べます。 ;) – GregaMohorko
実際のプロジェクトでこれを行う場合は、オブジェクト階層を再考することをお勧めします。 –