Konstruktor in Java - Verschiedene Konstruktortypen mit Beispielen

Inhaltsverzeichnis:

Anonim

Einführung in Constructor in Java

Konstruktoren in Java sind spezielle Arten von Methoden, mit denen die Objekte der Klasse initialisiert werden. Konstruktoren werden zum Zeitpunkt der Objekterstellung der Klasse aufgerufen. Genau wie Methoden, obwohl sie eine Reihe von Codezeilen enthalten, unterscheiden sie sich erheblich von diesen. Konstruktoren haben denselben Namen wie die Java-Klasse, aber keinen Rückgabetyp. In Java ein neues () Schlüsselwort, das zum Erstellen eines Objekts und jedes Mal, wenn ein neues Objekt erstellt und ein Konstruktor aufgerufen wird, verwendet wird. Der Konstruktor wird aufgerufen, nachdem der Speicher dem Objekt zugewiesen wurde. Zum Zeitpunkt der Objekterstellung werden Konstruktoren verwendet, um die Werte von Klassenvariablen entweder auf die Standardwerte oder auf die gewünschten Werte zu initialisieren.

Wenn der Benutzer im Programm keinen Konstruktor erstellt, erstellt Java selbst einen Standardkonstruktor und weist den verschiedenen Objekten Standardwerte zu, z. B. für den numerischen Standardwert 0, für ein Zeichen ('\ 0') und Referenzvariablen als Null . Konstruktoren können wie Methoden überladen sein, dh eine einzelne Klasse kann viele Konstruktoren haben, wenn alle eine eindeutige Signatur haben.

Die grundlegende Syntax von Constructor 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.

Wie funktioniert Constructor 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);
)
)

Ausgabe

Im obigen Beispiel haben wir Instanzvariablen (Klassenvariablen). Roll no und name und st Ist der Name des Objekts, das von der Klasse Student erstellt wurde. Wenn das Objekt st erstellt wird, ruft es den Konstruktor Student auf und initialisiert die Klassenvariablen mit dem rollno-Wert 12 und dem Namen 'Ananya'. Anderenfalls werden den Variablen Standardwerte wie 0 für rollno und null für den Namen zugewiesen. Daher wird nach dem Zuweisen der Werte und dem Drucken der Werte der Schülername als Ananya und der Schülername als 12 gedruckt.

Arten von Konstruktoren in Java

In Java gibt es zwei Arten von Konstruktoren, die auf Parametern basieren:

1. Nicht parametrisierter / kein Argument Konstruktor

Wenn wir im Konstruktor keine Argumente übergeben, wird dieser Konstruktor als nicht parametrisierter Konstruktor oder Konstruktor ohne Argument bezeichnet. Wenn der Programmierer keinen Konstruktor im Java-Programm definiert, fügt der Java-Compiler selbst einen Konstruktor hinzu, der als Standardkonstruktor bezeichnet wird und dem Objekt Standardwerte wie 0, null usw. zur Verfügung stellt. Der Standardkonstruktor ist kein besonderer Konstruktortyp aber fällt in die Kategorie der Konstruktor 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();
)
)

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();
)
)

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();
)
)

Ausgabe:

Wie im obigen Beispiel werden für den Konstruktor DemoProgram () keine Argumente übergeben, nur die Nachricht wird gedruckt und wird daher als Konstruktor ohne Argument bezeichnet.

2. Parametrisierter Konstruktor

Parametrisierte Konstruktoren sind diejenigen 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, ie (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 "Bogen Bogen" zugewiesen. Wenn also die Methodenanzeige aufgerufen wird, werden beide Werte in der Ausgabe gedruckt.

Wichtige Punkte zum Erinnern

  • Jede Klasse hat einen Konstruktor, unabhängig davon, ob der Programmierer sie erstellt oder nicht.
  • Der Konstruktorname sollte mit dem Klassennamen identisch sein.
  • Der Konstruktor hat im Gegensatz zu Methoden keinen Rückgabetyp.
  • Das Schlüsselwort this () und das Schlüsselwort 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 einen anderen Konstruktor derselben Klasse mit dem Schlüsselwort this () aufrufen.
  • Zugriffsspezifizierer / -modifizierer können vor dem Namen des Konstruktors angewendet werden, um dessen Umfang in einer Klasse zu deklarieren.
  • In Java kann ein Konstruktor niemals statisch, endgültig, abstrakt und synchronisiert sein.

Fazit

Konstruktoren spielen eine wichtige Rolle bei der Arbeit mit der Programmiersprache Java. Man muss die vollständigen Konzepte des Konstruktors, der verschiedenen Konstruktortypen, der Konstruktorkettung und des Schlüsselworts super () verstehen, mit dem der übergeordnete Konstruktor aufgerufen wird, um gemäß dem spezifischen Szenario zu arbeiten. Die Arbeit mit Konstruktoren in Java ist zwar sehr einfach wie die Arbeit mit Methoden, es gibt jedoch einige Punkte, die für Konstruktoren spezifisch sind und die gründlich erlernt werden sollten.

Empfohlener Artikel

Dies ist eine Anleitung für den Konstruktor in Java. Hier diskutieren wir, wie der Konstruktor in Java funktioniert, zusammen mit den Typen und Beispielen mit entsprechender Codeimplementierung. Sie können auch unsere Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Konstruktor in JavaScript und Typen
  2. Einführung in Constructor in Python
  3. Konstruktor in C ++ und Typen
  4. Konstruktor in PHP (Beispiele)