Heim > Java > javaLernprogramm > Hauptteil

Konstruktor in Java

WBOY
Freigeben: 2024-08-30 15:26:34
Original
311 Leute haben es durchsucht

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 Probetests

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

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.

Wie funktioniert der Konstruktor in Java?

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

Ausgabe:

Konstruktor in Java

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.

Typen von Konstruktoren in Java

Es gibt in Java zwei Arten von Konstruktoren, die auf Parametern basieren:

1. Nicht parametrisierter Konstruktor ohne Argumente

​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.

Beispiel (Standardkonstruktor)

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

Ausgabe:
Konstruktor in Java

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();
}
}
Nach dem Login kopieren
Beispiel (nicht parametrisierter Konstruktor)

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

Ausgabe:

Konstruktor in Java

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.

2. Parametrisierter Konstruktor​

Parametrierte Konstruktoren sind solche Konstruktoren, in denen wir die Argumente oder Parameter übergeben. In diesem Konstruktor werden Werte zum Zeitpunkt der Objekterstellung übergeben.

Beispiel (parametrisierte Konstruktoren)

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

Ausgabe:

Konstruktor in Java

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.

Wichtige Punkte, die Sie beachten sollten

  • Jede Klasse hat einen Konstruktor, unabhängig davon, ob der Programmierer ihn erstellt oder nicht.
  • Der Konstruktorname sollte mit dem Klassennamen identisch sein.
  • Der Konstruktor hat im Gegensatz zu Methoden keinen Rückgabetyp.
  • Die Schlüsselwörter this() und super() müssen die erste Anweisung in einem Konstruktor sein.
  • Konstruktoren können wie Methoden überladen werden.
  • Konstruktoren können nicht überschrieben werden.
  • Ein Konstruktor kann mit dem Schlüsselwort this() einen anderen Konstruktor derselben Klasse aufrufen.
  • Zugriffsspezifizierer/-modifikatoren können vor dem Namen des Konstruktors angewendet werden, um seinen Gültigkeitsbereich in einer Klasse zu deklarieren.
  • In Java kann ein Konstruktor niemals statisch, endgültig, abstrakt und synchronisiert sein.

Fazit

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!

Verwandte Etiketten:
Quelle:php
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!