Erklärung der Schnittstelleninitialisierung
Die Reihenfolge der Initialisierung für Schnittstellen ist in nicht explizit angegeben die JLS. Es ist jedoch wichtig, zwischen der Initialisierung einer Klasse und der Initialisierung eines Objekts zu unterscheiden.
Klasseninitialisierung
Eine Klasse oder Schnittstelle wird nur dann initialisiert, wenn sie es ist auf den ersten Zugriff zugegriffen wird, nicht, wenn ein Objekt dieser Klasse erstellt wird. Der Initialisierungsprozess umfasst:
Schnittstellen werden initialisiert, wenn sie es sind Zuerst wird darauf zugegriffen, normalerweise durch Lesen eines Felds, das keine Konstante zur Kompilierungszeit ist. Dieser Zugriff kann während der Auswertung eines Initialisierers erfolgen und zu einer rekursiven Initialisierung führen.
Objektinitialisierung
Ein Objekt wird initialisiert, wenn eine neue Instanz erstellt wird. Der Initialisierungsprozess umfasst:
Rolle des super()-Konstruktoraufrufs
Ein expliziter Aufruf des Superkonstruktors ändert die Reihenfolge der Initialisierung nicht. Es gibt lediglich an, welcher Superklassenkonstruktor aufgerufen werden soll.
Das obige ist der detaillierte Inhalt vonWie initialisiert Java Klassen und Schnittstellen und in welcher Reihenfolge erfolgt die Initialisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!