Heim > Java > javaLernprogramm > Wann generiert Java einen Standardkonstruktor?

Wann generiert Java einen Standardkonstruktor?

Patricia Arquette
Freigeben: 2024-12-31 20:21:10
Original
951 Leute haben es durchsucht

When Does Java Generate a Default Constructor?

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:

  • Numerische Typen (int, long, float, double) werden auf 0 gesetzt
  • Boolean Typen werden auf „false“ gesetzt
  • Objekttypen wie String werden auf null gesetzt

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;
}
Nach dem Login kopieren

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!

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