Java-Konstruktoren verstehen: „void“ vs. „non-void“
In Java ist ein Konstruktor eine spezielle Methode, die eine initialisiert Instanz einer Klasse. Im Gegensatz zu regulären Methoden geben Konstruktoren keinen Rückgabetyp an; Stattdessen haben sie denselben Namen wie die Klasse selbst. Java sorgt jedoch für Verwirrung, indem es sogenannte „void“-Konstruktoren zulässt.
Beispiel 1: Nicht-Void-Konstruktor
Im folgenden Code ist der Konstruktor class1( ) wird ohne Angabe einer Rückgabe deklariert Typ:
public class class1 { public static Integer value = 0; public class1() { da(); } public int da() { class1.value = class1.value + 1; return 5; } public static void main(String[] args) { class1 h = new class1(); class1 h2 = new class1(); System.out.println(class1.value); // Output: 2 } }
Erklärung:
Beispiel 2: Void-Konstruktor
Betrachten Sie nun diesen Code mit einem „void“-Konstruktor:
public class class1 { public static Integer value = 0; public void class1() { da(); } public int da() { class1.value = class1.value + 1; return 5; } public static void main(String[] args) { class1 h = new class1(); class1 h2 = new class1(); System.out.println(class1.value); // Output: 0 } }
Erklärung:
Fazit:
In In Java sind Konstruktoren, die einen Rückgabetyp deklarieren, auch wenn dieser ungültig ist, überhaupt keine Konstruktoren. Es sind einfach Methoden. Echte Konstruktoren, die Klasseninstanzen initialisieren, geben niemals einen Rückgabetyp an. Wenn kein Konstruktor explizit definiert ist, fügt Java automatisch einen Standardkonstruktor hinzu, der keine Initialisierung durchführt. Das Verständnis dieser Unterscheidung ist für die korrekte Klasseninitialisierung in Java von entscheidender Bedeutung.
Das obige ist der detaillierte Inhalt vonJava-Konstruktoren: Was ist der Unterschied zwischen „void'- und „non-void'-Konstruktoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!