Cum se implementează cel mai bine supraîncărcarea constructorului în Java?



Acest articol vă va prezenta supraîncărcarea constructorului în Java. Explicația va fi urmată de o demonstrație programatică.

Apariția Java a luat lumea programării cu asalt și motivul principal al acestui fapt este numărul de caracteristici pe care le-a adus. În acest articol vom discuta despre suprasolicitarea constructorului în . Următoarele indicații vor fi discutate în acest articol,

Deci, hai să începem atunci,





Supraîncărcarea constructorului în Java

Ce este un constructor?

Un constructor este un bloc de cod utilizat pentru a crea obiectul unei clase. Fiecare clasă are un constructor, fie că este clasă normală sau clasă abstractă. Un constructor este la fel ca o metodă, dar fără tip return. Când nu există niciun constructor definit pentru o clasă, un compilator implicit este creat de compilator.

cum se creează tabloul de bord în power bi

Exemplu



public class Student {// no constructor private String name private int age private String std // geters and setters public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// pentru a utiliza metoda de afișare a clasei Student, creați obiectul Student Student student = new Student () // deoarece nu am definit niciun constructor , compilatorul creează un constructor implicit. astfel încât student.display ()}}

În programul de mai sus, constructorul implicit este creat de compilator, astfel încât obiectul să fie creat. Este obligatoriu să ai un constructor.

Acest lucru ne aduce la următorul articol al acestui articolSupraîncărcarea constructorului în Java.

Nevoia de alți constructori

În exemplul de mai sus obiectul Student poate fi creat numai cu constructorul implicit. Acolo unde toate celelalte atribute ale elevului nu sunt inițializate. Dar pot exista și alți constructori, care sunt folosiți pentru a inițializa starea unui obiect. de exemplu -



public class Student {// atribute String name int age String std // Constructors public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = nume this.std = std} public Student (String name, String std, int age) {// Constructor 3 this.name = nume 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 = new Student ('ABC') stu1 .display () Student stu2 = new Student ('DEF', '5-C') stu2.display () Student stu3 = new Student ('GHI', '6-C', 12) stu3.display ()}}

Acest lucru ne aduce la următorul articol al acestui articolSupraîncărcarea constructorului în Java.

această () referință

această referință () poate fi utilizată în interiorul constructorului parametrizat pentru a apela implicit la constructorul implicit. Vă rugăm să rețineți, aceasta () ar trebui să fie prima afirmație din interiorul unui constructor.

Exemplu

public Student () {} // Constructor 4 public Student (String name, String std, int age) {// Constructor 3 this () // va apela constructorul implicit. * Dacă nu este prima afirmație a constructorului, va apărea EROARE * this.name = nume this.std = std this.age = age

Notă

  • Apelul constructor recursiv nu este valid în java
  • Dacă am definit orice constructor parametrizat, atunci compilatorul nu va crea constructor implicit. și invers, dacă nu definim niciun constructor, compilatorul creează implicit constructorul (cunoscut și sub numele de constructor fără argumente) în timpul compilării
  • Apelarea constructorului trebuie să fie prima declarație a constructorului în Java

Astfel am ajuns la sfârșitul acestui articol despre „Supraîncărcarea constructorului în Java”. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom răspunde cât mai curând posibil.