Spoznajte parametrizirani konstruktor v Javi s primeri



Ta članek opisuje, kako lahko uporabimo parametrizirani konstruktor v javi, z različnimi primeri in razliko med privzetim in parametriziranim konstruktorjem.

Java je eden izmed mnogih programskih jezikov, ki sledijo . To pomeni, da imamo med programiranjem v Javi vse zmogljive lastnosti abstrakcije podatkov, polimorfizma, dedovanja itd. Jedro vseh funkcij OOP je izvajanje razredov in predmetov ter njihova medsebojna interakcija. V tem članku bomo še posebej preučili, kako inicializirati objekt z uporabo parametriziranih konstruktorjev v . Upoštevajte, da je osnovno razumevanje je potrebno, preden nadaljujete s konstruktorji.

casting double to int v javi

Kaj je konstruktor?

Konstruktor je v bistvu metoda, ki se samodejno pokliče, ko se ustvari objekt (primerek) tega razreda. Uporablja se za inicializacijo podatkovnih članov predmeta.





javni razred Edureka {Edureka () {System.out.println ('konstruktor je narejen')}}

Nekatere značilnosti konstruktorja vključujejo:

  1. Ima isto ime kot ime razreda
  2. Nima vrste vrnitve

Vrste konstruktorjev

  1. Privzeti konstruktor
  2. Parametrizirani konstruktor

tipi konstruktorjev s parametriziranim konstruktorjem v java-edureka



Privzeti konstruktor v primerjavi s parametriziranim konstruktorjem

Privzeti konstruktor - Konstruktor, ki ne sprejme nobenega parametra, se imenuje privzeti konstruktor. V definiciji razreda ni treba imeti konstruktorskega bloka. Če konstruktorja ne napišete izrecno, ga prevajalnik samodejno vstavi za vas.

Primer ponazoritve privzetega konstruktorja v Javi:

javni razred Edureka {Edureka () {System.out.println ('Jaz sem konstruktor')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 Izhod: Sem konstruktor

Parametrizirani konstruktor - Konstruktor se imenuje Parameterized Constructor, ko sprejme določeno število parametrov. Inicializacija podatkovnih članov razreda z različnimi vrednostmi.



Primer ponazoritve parametriziranega konstruktorja:

javni razred Edureka {String StudentName int studentAge // konstruktor Edureka (Ime niza, int starost) {studentName = ime studentAge = starost} void display () {System.out.println (studentName + '' + studentAge)} public static void main ( String args []) {Edureka myObj = nova Edureka ('Manan', 19) myObj.display ()}}
 Izhod: Manan-19

V zgornjem primeru predmetu posredujemo niz in celo število. Nato konstruktor inicializira studentName in studentAge z uporabo posredovanih vrednosti. Prikazna metoda nato da želeni izhod.

Pri parametriziranem konstruktorju za razred je treba kot argumente navesti začetne vrednosti, sicer prevajalnik sporoči napako.

Predaja predmetov kot argumentov

Argumente lahko posredujemo tudi med ustvarjanjem drugih primerkov razreda. Na ta način parametrizirani konstruktorji izpolnijo potrebo po kopiranju vrednosti enega predmeta v drugega.

Primer ponazoritve podajanja predmetov kot argumentov:

javni razred Edureka {Niz študentskega imena Edureka (Ime niza) {študentskoime = ime} Edureka (Edureka myObj) {this.studentName = myObj.studentName} void display () {System.out.println ('Student:' + studentName)} public static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * posredovanje predmeta kot argumenta za konstruktor * to bo sprožilo konstruktor kopiranja * / Edureka obj2 = novi sistem Edureka (obj1). out.println ('Tiskanje obj1 -') obj1.display () System.out.println ('Tiskanje obj2 -') obj2.display ()}}
 Izhod: 
Tiskanje predmeta 1 -MananTiskanje predmeta 2 -Manan

V zgornjem primeru obj1 inicializiramo z nizom. Nato obj1 posredujemo kot argument med ustvarjanjem obj2. Na koncu, ko s funkcijo prikaza natisnemo obe spremenljivki studentName predmeta, dobimo »Manan«.

Klicanje privzetega konstruktorja iz parametriziranega konstruktorja v Javi

Včasih je treba privzeti konstruktor poklicati iz drugega konstruktorja istega razreda. to ključno besedo izpolnjuje ta namen.

Primer ponazoritve klica na privzeti konstruktor iz parametriziranega konstruktorja:

javni razred Edureka {String StudentName int studentAge String član Edureka () {member = 'YES'} Edureka (Ime niza, int starost) {this () / * to se uporablja za klic privzetega konstruktorja * iz parametriziranega konstruktorja * / studentName = ime studentAge = age} void display () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} javna statična void main (String args []) {Edureka obj = new Edureka ('Manan', 21) obj.display ()}}

Izhod: Manan - 21 - član DA

V zgornjem primeru pri priklicanem parametriziranem konstruktorju najprej prikliče privzeti konstruktor s pomočjo ključne besede this (). Privzeti konstruktor inicializira spremenljivko “member” na “YES” in nato nadaljuje z izvajanjem parametriziranega konstruktorja.

Preobremenitev konstruktorja

Konstruktor podpira preobremenitev metode tako kot kateri koli drug razred. Na podlagi različnih vrst ali števila argumentov bodo poklicani različni konstruktorji.

Primer ponazoritve preobremenitve konstruktorja:

javni razred Pravokotnik {int dolžina int širina Barva niza // konstruktor 1 Pravokotnik (int l, int b) {dolžina = l širina = b barva = 'Zelena'} // konstruktor 2 Pravokotnik (int l, int b, Niz c) {length = l width = b color = c} void display () {System.out.println ('Dolžina-' + dolžina + 'Širina-' + širina + 'Barva' + barva)} public static void main (String args [ ]) {Pravokotnik obj1 = nov pravokotnik (2,4) Pravokotnik obj2 = nov pravokotnik (2,4, 'zelen') obj1.display () obj2.display ()}}
 Izhod: Dolžina - 2 širina - 4 barva - zelenaDolžina - 2 širina - 4 barva - rdeča

Zdaj, ko ste spoznali, kaj so konstruktorji in kako z njimi delati, ste korak bližje na poti k učenju Jave. Koncepti, kot so konstruktorji, so preprosti, vendar so izjemno pomembni, saj vključujejo razrede in predmete. Za bolj poglobljene teme in zabavno branje se včlanite na Edureka's . Vas prosimo, da preverite našo za začetek učenja.

Imate vprašanje za nas? prosimo, omenite to v oddelku za komentarje tega članka o »Parametriziranem konstruktorju v Javi« in takoj se vam bomo oglasili.