Kako najbolje izvesti preobremenitev konstruktorja v Javi?



Ta članek vas bo seznanil s preobremenitvijo konstruktorja v Javi. Razlagi bo sledil programski prikaz.

Advent Java je programski svet prevzel, glavni razlog za to pa so številne funkcije, ki jih je prinesel s seboj. V tem članku bi razpravljali o preobremenitvi konstruktorja v . V tem članku bodo obravnavani naslednji napotki:

Začnimo torej,





Preobremenitev konstruktorja v Javi

Kaj je konstruktor?

Konstruktor je blok kode, ki se uporablja za ustvarjanje predmeta razreda. Vsak razred ima konstruktor, naj bo to običajni razred ali abstraktni razred. Konstruktor je tako kot metoda, vendar brez vrnjenega tipa. Ko za razred ni definiran noben konstruktor, prevajalnik ustvari privzeti konstruktor.

je hadoop težko naučiti

Primer



javni razred Študent {// brez konstruktorja zasebno Ime niza zasebno int starost zasebno Niz std // getterji in nastavitelji public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// za uporabo metode prikaza študentskega razreda ustvari objekt Student Student student = new Student () // saj nismo definirali nobenega konstruktorja , prevajalnik ustvari privzeti konstruktor. tako da student.display ()}}

V zgornjem programu privzeti konstruktor ustvari prevajalnik, tako da se ustvari objekt. Nujno je imeti konstruktor.

To nas pripelje do naslednjega tega člankaPreobremenitev konstruktorja v Javi.

Potreba po drugih konstruktorjih

V zgornjem primeru je objekt študenta mogoče ustvariti samo s privzetim konstruktorjem. Kjer vsi drugi atributi študenta niso inicializirani. Lahko pa obstajajo tudi nekateri drugi konstruktorji, ki se uporabljajo za inicializacijo stanja predmeta. npr. -



javni razred Študent {// atributi Ime niza int age String // Konstruktorji javni študent (Ime niza) {// Konstruktor 1 this.name = name} javni študent (Ime niza, Std std) {// Konstruktor 2 this.name = name this.std = std} javni študent (ime niza, niz std, int starost) {// konstruktor 3 this.name = ime this.std = std this.age = age} javni prikaz praznine () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Študent stu2 = nov študent ('DEF', '5-C') stu2.display () Študent stu3 = nov študent ('GHI', '6-C', 12) stu3.display ()}}

To nas pripelje do naslednjega tega člankaPreobremenitev konstruktorja v Javi.

ta () referenca

sklic this () lahko uporabimo znotraj parametriziranega konstruktorja za implicitni klic privzetega konstruktorja. Upoštevajte, da mora biti ta () prva izjava znotraj konstruktorja.

Primer

public Student () {} // Constructor 4 public Student (String name, String std, int age) {// Constructor 3 this () // bo poklical privzeti konstruktor. * Če to ni prvi stavek konstruktorja, se bo pojavila NAPAKA * this.name = ime this.std = std this.age = starost

Opomba

  • Rekurzivni klic konstruktorja v javi ni veljaven
  • Če smo definirali kateri koli parametrizirani konstruktor, potem prevajalnik ne bo ustvaril privzetega konstruktorja. in obratno, če ne definiramo nobenega konstruktorja, prevajalnik med pripravo privzeto ustvari privzeti konstruktor (znan tudi kot konstruktor no-arg)
  • Klic konstruktorja mora biti prvi stavek konstruktorja v Javi

Tako smo prišli do konca tega članka o 'Preobremenitvi konstruktorja v Javi'. Če želite izvedeti več, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.