Heim > Java > javaLernprogramm > Was ist der Unterschied zwischen Standard- und benutzerdefinierten Konstruktoren in Java?

Was ist der Unterschied zwischen Standard- und benutzerdefinierten Konstruktoren in Java?

Mary-Kate Olsen
Freigeben: 2024-12-22 07:13:13
Original
860 Leute haben es durchsucht

What's the Difference Between Default and User-Defined Constructors in Java?

Standardkonstruktoren in Java

In Java wird automatisch ein Standardkonstruktor generiert, wenn keine anderen Konstruktoren definiert sind. Es handelt sich um einen Konstruktor ohne Argumente, der Felder mit ihren Standardwerten initialisiert. Der folgende Code definiert keinen Standardkonstruktor:

public Module() {
   this.name = "";
   this.credits = 0;
   this.hours = 0;
}
Nach dem Login kopieren

Dies ist ein benutzerdefinierter Konstruktor, der Argumente akzeptiert. Ein Standardkonstruktor würde so aussehen:

public Module() {}
Nach dem Login kopieren

Oder, wenn Feldtypen primitiv sind:

public Module() {
   super();
   this.name = null;
   this.credits = 0;
   this.hours = 0;
}
Nach dem Login kopieren

Hauptunterschiede

Der primäre Der Unterschied zwischen einem Standardkonstruktor und einem benutzerdefinierten Konstruktor ist:

  • Standardkonstruktoren erfordern keine Argumente. während benutzerdefinierte Konstruktoren Argumente haben können.
  • Standardkonstruktoren initialisieren Felder automatisch mit ihren Standardwerten (z. B. null für Objekte, 0 für numerische Grundelemente), während benutzerdefinierte Konstruktoren eine benutzerdefinierte Initialisierung ermöglichen.

Standardkonstruktor vs. kein Konstruktor

Überhaupt keinen Konstruktor entspricht einem Standardkonstruktor. Wenn keine Konstruktoren vorhanden sind, generiert der Java-Compiler automatisch einen Standardkonstruktoren ohne Argumente und ohne Feldinitialisierung.

Hinweis:

  • Falls Konstruktoren definiert sind In einer Klasse wird der Standardkonstruktor nicht generiert.
  • Standardkonstruktoren können nur implizit erstellt werden, nicht explizit.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Standard- und benutzerdefinierten Konstruktoren in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage