public Class BaseClass{
public static void parentMethod(){
}
}
public Class ChildClass extends BaseClass{
public static void childMethod(){
}
this.childMethod();
this.parentMethod();
}
1)BaseClassで現在実行中のオブジェクトは何ですか?2)ChildClassで現在実行中のオブジェクトは何ですか?3)上記の2つは、どのオブジェクトを参照していますか?
ここでのジレンマは、「現在実行中のオブジェクト」は非常に抽象的な概念であり、直感的には簡単ですが、書面で説明するのは難しいということです(少なくとも私にとっては)
がある場合は、ChildClass
もBaseClass
です。したがって、問題のオブジェクトは1つです。そのタイプがありChildClass
、それはにキャストすることができます(フィールドとメソッドのを持っている)BaseClass
とObject
同様。
this
自分自身を指します。aChildClass
がインスタンス化されると、初期化子は次のようになります。
this.childMethod();
this.parentMethod();
実行されます(ただし、コードをコンパイルするには、中括弧のセットである必要があります)。
その初期化子はchildMethod
、初期化parentMethod
されるオブジェクトをこの順序で呼び出します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加