Konstruktoren in Java sind spezielle Arten von Methoden, die zum Initialisieren der Objekte der Klasse verwendet werden. Konstruktoren werden zum Zeitpunkt der Objekterstellung der Klasse aufgerufen. Genau wie Methoden enthalten sie zwar eine Reihe von Codezeilen, unterscheiden sich jedoch erheblich von ihnen. Konstruktoren haben denselben Namen wie die Java-Klasse, sie haben jedoch keinen Rückgabetyp. In Java wird ein new()-Schlüsselwort zum Erstellen eines Objekts und jedes Mal, wenn ein neues Objekt erstellt und ein Konstruktor aufgerufen wird, verwendet. Der Konstruktor wird aufgerufen, nachdem dem Objekt Speicher zugewiesen wurde. Zum Zeitpunkt der Objekterstellung werden Konstruktoren verwendet, um die Werte der Klassenvariablen entweder auf die Standardwerte oder die gewünschten Werte zu initialisieren.
Wenn der Benutzer keinen Konstruktor im Programm erstellt, erstellt Java selbst einen Standardkonstruktor dafür und weist den verschiedenen Objekten Standardwerte zu, z. B. für numerische Werte ist der Standardwert 0, für ein Zeichen (' ') und Referenzvariablen wie null. Konstruktoren können wie Methoden überladen sein, d. h. eine einzelne Klasse kann viele Konstruktoren haben, wenn alle eine eindeutige Signatur haben.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsDie grundlegende Syntax des Konstruktors in Java ist unten angegeben:
Syntax:
public class Student() // name of the class { . . . . . . . . . . . . Student() // this is Constructor with the same name of class { . . . . . . } new Student(); // object creation and value initialization }
In der obigen Syntax ist Student() der Name des Konstruktors, der mit dem Namen der Klasse identisch ist, und die Objekte in Java werden mit dem Schlüsselwort new erstellt.
Um die Funktionsweise von Konstruktoren in Java zu verstehen, nehmen wir das folgende Beispiel:
Code:
public class Student() { int rollno; String name; Student(int rollno, String name) { this.rollno = rollno; this.name = name; } public static void main(String[] args) { Student st = new Student(12, 'Ananya'); System.out.println("Student name = "+ st.name + "Student rollno = "+st.rollno); } }
Ausgabe:
Im obigen Beispiel haben wir Instanzvariablen (Klassenvariablen). roll no and name and st Ist der Name des von der Klasse Student erstellten Objekts. Wenn das Objekt erstellt wird, ruft es den Konstruktor Student auf und initialisiert die Klassenvariablen mit dem Roll-No-Wert 12 und dem Namen „Ananya“. andernfalls werden den Variablen Standardwerte wie 0 für rollno und null für den Namen zugewiesen. Daher wird nach dem Zuweisen und Drucken der Werte der Name des Schülers als Ananya und die Rollennummer des Schülers als 12 gedruckt.
Es gibt in Java zwei Arten von Konstruktoren, die auf Parametern basieren:
Wenn wir im Konstruktor keine Argumente übergeben, wird dieser Konstruktor als nicht parametrisierter Konstruktor oder Konstruktor ohne Argumente bezeichnet. Wenn der Programmierer keinen Konstruktor im Java-Programm definiert, fügt der Java-Compiler selbst einen Konstruktor hinzu, den sogenannten Standardkonstruktor, der dem Objekt Standardwerte wie 0, Null usw. bereitstellt. Der Standardkonstruktor ist kein spezieller Konstruktortyp fällt aber in die Kategorie des Konstruktors ohne Argumente.
Code:
public class Hello() { String name; void display() //method to display name the value of variables { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
Ausgabe:
Im obigen Beispiel ist dies kein vom Programmierer definierter Konstruktor, daher behandelt der Compiler dieses Programm wie folgt:
Code:
public class Hello() { String name; Hello() //default constructor created by compiler { name = null } void display() { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
Code:
public DemoProgram() // class { DemoProgram() // constructor with no arguments { System.out.println("Hello this is just an example of no-arg constructor"); } public static void main(String[] args) { new DermoProgram(); } }
Ausgabe:
Wie im obigen Beispiel werden für den Konstruktor DemoProgram() keine Argumente übergeben, es wird nur die Nachricht ausgegeben, und daher wird er als Konstruktor ohne Argumente bezeichnet.
Parametrierte Konstruktoren sind solche Konstruktoren, in denen wir die Argumente oder Parameter übergeben. In diesem Konstruktor werden Werte zum Zeitpunkt der Objekterstellung übergeben.
Code:
public class Animal() { int legs; String sound; Animal(int legs, String sound) // parameterized constructor { this.legs = legs; // values with get initialize of what is passed while object crea-this.sound = sound; // tion, i.e. (4, “bow bow”) } void display() // method to display the values { System.out.println("Legs are "+legs+"Sound is "+sound); } } class AnimalPlanet() { public static void main(String[] args) { Animal an = new Animal(4, "bow bow"); an.display(); } }
Ausgabe:
Im obigen Beispiel wird den Beinen der Wert 4 und dem Klang im Konstruktor Animal die Zeichenfolge „Bow Bow“ zugewiesen. Wenn also die Methode display aufgerufen wird, werden beide Werte in der Ausgabe ausgegeben.
Konstruktoren spielen eine wichtige Rolle, wenn es um die Arbeit mit der Programmiersprache Java geht. Man muss die vollständigen Konzepte des Konstruktors, verschiedene Arten von Konstruktoren, die Konstruktorverkettung und das Schlüsselwort super() verstehen, das zum Aufrufen des übergeordneten Konstruktors verwendet wird, um entsprechend dem spezifischen Szenario zu arbeiten. Obwohl die Arbeit mit Konstruktoren in Java sehr einfach ist, genau wie die Arbeit mit Methoden, sollten einige spezifische Punkte gründlich erlernt werden.
Das obige ist der detaillierte Inhalt vonKonstruktor in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!