Ein umfassendes Verständnis der Java-Standardkonstruktoren
In Java ist ein Standardkonstruktor ein implizit generierter Konstruktor ohne Argumente, der eine entscheidende Rolle spielt wenn Sie Konstruktoren für eine Klasse nicht explizit definieren. Entgegen der landläufigen Meinung wird jedoch durch die Definition eines anderen Konstruktors die Erstellung des Standardkonstruktors deaktiviert.
Keines der Beispiele ist ein Standardkonstruktor
Keiner der in der Frage bereitgestellten Konstruktoren ist dies ein Standardkonstruktor, da beide Argumente haben. Der Standardkonstruktor hätte keine Argumente.
Definition und Generierung des Standardkonstruktors
Der Standardkonstruktor wird automatisch generiert, wenn in einer Klasse keine anderen Konstruktoren definiert sind. Sie verfügt über denselben Zugriffsmodifikator wie die Klasse und initialisiert Instanzvariablen auf ihre jeweiligen Standardwerte:
Zum Beispiel if Das Klassenmodul hat drei Felder: Name (String), Credits (int) und Stunden (int). Der Standardkonstruktor wäre:
public Module() { this.name = null; this.credits = 0; this.hours = 0; }
Auswirkungen der Definition anderer Konstruktoren
Sobald Sie mindestens einen Konstruktor für eine Klasse definieren, wird der Standardkonstruktor nicht generiert. Dies liegt daran, dass der Standardkonstruktor im Wesentlichen ein Platzhalter ist und sobald Sie Ihre eigenen Konstruktoren bereitstellen, wird er überflüssig.
Zusätzliche Klarstellung
Technisch gesehen ist dies nicht der Fall der Konstruktor, der die Felder standardmäßig initialisiert. Da der Konstruktor jedoch der Einstiegspunkt einer Klasse ist, wirkt sich seine Anwesenheit oder Abwesenheit indirekt auf die Standardinitialisierung aus.
Das obige ist der detaillierte Inhalt vonWann generiert Java einen Standardkonstruktor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!