Kako najbolje implementirati preopterećenje konstruktora u Javi?

Ovaj će vas članak upoznati s Preopterećenjem konstruktora u Javi. Nakon objašnjenja slijedit će programska demonstracija.

Pojava Jave olujno je zahvatila svijet programiranja, a glavni razlog tome su brojne značajke koje je donio. U ovom ćemo članku raspravljati o preopterećenju konstruktora u sustavu . U ovom će članku biti riječi o sljedećim uputama,

Pa krenimo onda,





Preopterećenje konstruktora u Javi

Što je konstruktor?

Konstruktor je blok koda koji se koristi za stvaranje objekta klase. Svaka klasa ima konstruktor, bilo da je to normalna klasa ili apstraktna klasa. Konstruktor je poput metode, ali bez povratnog tipa. Kad za klasu nije definiran nijedan konstruktor, prevodilac kreira zadani konstruktor.

što ide koristiti za javu

Primjer



javna klasa Student {// bez konstruktora private String ime private int age private String std // getteri i postavljači public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// za upotrebu metode prikaza klase Student, kreira objekt objekta Student Student student = new Student () // jer nismo definirali nijedan konstruktor , prevodilac kreira zadani konstruktor. tako da student.display ()}}

U gornjem programu zadani konstruktor kreira kompajler tako da se kreira objekt. Morate imati konstruktor.

To nas dovodi do sljedećeg članka izPreopterećenje konstruktora u Javi.

Potreba za drugim konstruktorima

U gornjem primjeru objekt Student može se stvoriti samo sa zadanim konstruktorom. Gdje svi ostali atributi učenika nisu inicijalizirani. Ali mogu postojati određeni drugi konstruktori, koji se koristi za inicijalizaciju stanja objekta. npr. -



javni razred Student {// atributi Ime niza int age String std // Konstruktori javni student (Ime niza) {// Konstruktor 1 this.name = name} javni student (Ime niza, Std std) {// Konstruktor 2 this.name = name this.std = std} javni 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 = new Student ('ABC') stu1 .display () Student stu2 = novi student ('DEF', '5-C') stu2.display () Student stu3 = novi student ('GHI', '6-C', 12) stu3.display ()}}

To nas dovodi do sljedećeg članka izPreopterećenje konstruktora u Javi.

ova () referenca

ova referenca () može se koristiti unutar parametriziranog konstruktora za implicitni poziv zadanog konstruktora. Napominjemo, ovo () bi trebalo biti prva izjava unutar konstruktora.

Primjer

public Student () {} // Konstruktor 4 public Student (Ime niza, String std, int age) {// Konstruktor 3 this () // pozvat će zadani konstruktor. * Ako to nije prva izjava konstruktora, pojavit će se GREŠKA * this.name = naziv this.std = std this.age = age

Bilješka

  • Poziv rekurzivnog konstruktora u javi nije važeći
  • Ako smo definirali bilo koji parametarski konstruktor, tada prevodilac neće stvoriti zadani konstruktor. i obrnuto, ako ne definiramo nijedan konstruktor, kompajler stvara zadani konstruktor (također poznat kao no-arg konstruktor) prema zadanim postavkama tijekom kompilacije
  • Pozivanje konstruktora mora biti prva izjava konstruktora u Javi

Tako smo došli do kraja ovog članka o 'Preopterećenju konstruktora u Javi'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.