Erstellt das Erstellen eines Unterklassenobjekts ein übergeordnetes Klassenobjekt?
Nein, es wird nur ein Unterklassenobjekt erstellt, aber das Unterklassenobjekt wird an den Konstruktor des übergeordneten Klassenobjekts übergeben. Beim Initialisieren des Unterklassenobjekts wird der Konstruktor der übergeordneten Klasse aufgerufen.
Beweis:
class A{ public A(){ System.out.println("A=="+this.hashCode()); } } class B extends A{ public B(){ System.out.println("B=="+this.hashCode()); } } public class test{ public static void main(String[] args){ A test=new B(); } }
Ergebnis:
A==366712642
B==366712642
Wenn ein Unterklassenobjekt erstellt wird Gleichzeitig wird ein übergeordnetes Klassenobjekt erstellt, dessen Hashcode (Speicheradresse) in den Konstruktionsmethoden der übergeordneten Klasse und der untergeordneten Klasse unterschiedlich ist, das Ergebnis jedoch dasselbe ist.
Das obige ist der detaillierte Inhalt vonWird durch das Erstellen eines Unterklassenobjekts ein übergeordnetes Klassenobjekt erstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!