Wie implementiere ich die Überladung von Konstruktoren am besten in Java?



Dieser Artikel führt Sie in das Überladen von Konstruktoren in Java ein. Der Erklärung folgt eine programmatische Demonstration.

Das Aufkommen von Java eroberte die Programmierwelt im Sturm und der Hauptgrund dafür sind die zahlreichen Funktionen, die es mit sich brachte. In diesem Artikel würden wir das Überladen von Konstruktoren in diskutieren . Die folgenden Hinweise werden in diesem Artikel erläutert:

Also fangen wir an,





Konstruktorüberladung in Java

Was ist ein Konstruktor?

Ein Konstruktor ist ein Codeblock, mit dem ein Objekt einer Klasse erstellt wird. Jede Klasse hat einen Konstruktor, sei es eine normale Klasse oder eine abstrakte Klasse. Ein Konstruktor ist wie eine Methode, jedoch ohne Rückgabetyp. Wenn für eine Klasse kein Konstruktor definiert ist, wird vom Compiler ein Standardkonstruktor erstellt.

Wie installiere ich PHP 7 unter Windows 10?

Beispiel



public class Student {// kein Konstruktor privater Stringname private int age private String std // Getter und Setter public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// Um ​​die Anzeigemethode der Student-Klasse zu verwenden, erstellen Sie ein Objekt von Student Student student = new Student () //, da wir keinen Konstruktor definiert haben Der Compiler erstellt einen Standardkonstruktor. so dass student.display ()}}

Im obigen Programm wird der Standardkonstruktor vom Compiler erstellt, sodass das Objekt erstellt wird. Es ist ein Muss, einen Konstruktor zu haben.

Dies bringt uns zum nächsten Punkt dieses ArtikelsKonstruktorüberladung In Java.

Bedarf an anderen Konstruktoren

Im obigen Beispiel kann das Student-Objekt nur mit dem Standardkonstruktor erstellt werden. Wo alle anderen Attribute des Schülers nicht initialisiert sind. Es kann jedoch bestimmte andere Konstruktoren geben, mit denen der Status eines Objekts initialisiert wird. zum Beispiel -



public class Student {// Attribute String name int age String std // Konstruktoren public Student (String name) {// Konstruktor 1 this.name = name} public Student (String name, String std) {// Konstruktor 2 this.name = name this.std = std} public Student (String name, String std, int age) {// Konstruktor 3 this.name = name this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = neuer Student ('ABC') stu1 .display () Student stu2 = neuer Student ('DEF', '5-C') stu2.display () Student stu3 = neuer Student ('GHI', '6-C', 12) stu3.display ()}}

Dies bringt uns zum nächsten Punkt dieses ArtikelsKonstruktorüberladung In Java.

diese () Referenz

Diese () Referenz kann innerhalb des parametrisierten Konstruktors verwendet werden, um den Standardkonstruktor implizit aufzurufen. Bitte beachten Sie, dass this () die erste Anweisung in einem Konstruktor sein sollte.

Beispiel

public Student () {} // Konstruktor 4 public Student (String name, String std, int age) {// Konstruktor 3 this () // ruft den Standardkonstruktor auf. * Wenn es nicht die erste Anweisung des Konstruktors ist, tritt ERROR auf. * ​​This.name = name this.std = std this.age = age

Hinweis

  • Der rekursive Konstruktoraufruf ist in Java ungültig
  • Wenn wir einen parametrisierten Konstruktor definiert haben, erstellt der Compiler keinen Standardkonstruktor. und umgekehrt, wenn wir keinen Konstruktor definieren, erstellt der Compiler während der Kompilierung standardmäßig den Standardkonstruktor (auch als Konstruktor ohne Argumente bezeichnet)
  • Der Aufruf eines Konstruktors muss die erste Anweisung des Konstruktors in Java sein

Damit sind wir am Ende dieses Artikels zum Thema 'Überladen von Konstruktoren in Java' angelangt. Wenn Sie mehr erfahren möchten, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka wurde entwickelt, um Sie für Kern- und fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring zu schulen.

Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.