Statische vs. nichtstatische verschachtelte Klassen in Java
Verschachtelte Klassen, auch als innere Klassen bezeichnet, bieten eine Möglichkeit, verwandte Klassen zu gruppieren innerhalb einer einzigen Quelldatei. Es gibt jedoch wesentliche Unterschiede zwischen statischen und nicht statischen verschachtelten Klassen.
Statische verschachtelte Klassen
Im Gegensatz zu nicht statischen verschachtelten Klassen haben statisch verschachtelte Klassen keinen Zugriff auf nicht statische Felder oder Methoden der umschließenden Klasse. Sie werden mit dem Schlüsselwort static innerhalb der umschließenden Klasse deklariert.
public class OuterClass { private int x; public static class StaticNestedClass { public void doSomething() { // Cannot access 'x' as it is non-static } } }
Nichtstatische verschachtelte Klassen
Nichtstatische verschachtelte Klassen, auch innere Klassen genannt, haben Zugriff auf statische und nicht statische Mitglieder der umschließenden Klasse. Sie können direkt auf nicht statische Felder und Methoden sowie auf statische Mitglieder mithilfe der OuterClass.staticMember-Syntax zugreifen.
public class OuterClass { private int x; public class NonStaticNestedClass { public void doSomething() { System.out.println(x); } } }
Hauptunterschiede
Beispielverwendung
Das obige ist der detaillierte Inhalt vonWas sind die Hauptunterschiede zwischen statischen und nicht statischen verschachtelten Klassen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!