Značilnosti konstruktorja
- Ime konstruktorja mora biti enako imenu razreda.
- Tip vrnitve je ničen.
- Konstruktor ne more biti statičen, abstrakten in končni.
Vrste konstruktorja
- Privzeto
- Brez parametrov
- Parametrizirano
1. Privzeti konstruktor
Privzeti konstruktor ustvari prevajalnik Java, če kodirnik ne razglasi nobenega konstruktorja za razred in ta konstruktor ne vsebuje nobenega argumenta. Datoteka Java ne vsebuje nobene kode za privzeti konstruktor. Privzeta koda konstruktorja se ustvari med prevajanjem kode Java in se shrani v .razred mapa.
2. Konstruktor brez parametrov
Ko je konstruktor razglašen brez kakršnega koli parametra ali argumenta, se imenuje konstruktor brez parametrov. Konstruktor brez parametrov deluje kot privzeti konstruktor in ta konstruktor lahko vsebuje stavke ali pa je prazen.
3. Parametrizirani konstruktor
Ko je kateri koli konstruktor prijavljen z enim ali več parametri, se imenuje parametrizirani konstruktor. Vrednosti parametrov konstruktorja se posredujejo v času ustvarjanja predmeta.
Primer 1: Ustvarjanje konstruktorja brez parametrov
Naslednja koda prikazuje, kako uporabiti konstruktor brez parametrov. Že prej je bilo omenjeno, da bo ime metode konstruktorja enako imenu razreda. Tu je ime predavanja 'con1,'torej je ime konstruktorja brez parametrov'con1 ().'Dve spremenljivki razreda,'ime"in"starost,"so razglašeni tukaj. V času razglasitve objektne spremenljivke 'obj,'pokliče se konstruktor in natisne se določeno sporočilo. Nato sta dve spremenljivki razreda dodeljeni dve vrednosti, ki se kasneje natisneta s pomočjo 'obj' predmet.
javni razred con1// prijavimo spremenljivke
Ime niza;
int starost;
// Konstruktor brez parametrov
con1 ()
Sistem.ven.println ("Pokliče se konstruktor.");
// Inicializacija spremenljivk
name = "Fahim Reza";
starost = 30;
// glavna () metoda
public static void main (String [] args)
// Ustvari predmet
con1 obj = nov con1 ();
// Natisnemo vrednosti lastnosti predmeta
Sistem.ven.print ("Starost" + obj.ime + "je" + obj.starost);
Izhod:
Naslednja slika prikazuje izhodne kode. Konstruktor se pokliče v času ustvarjanja predmeta in sporočilo »Pokliče se konstruktor«Je natisnjeno. Vrednostiime"in"starost'so dodeljena znotraj konstruktorja. Vrednosti teh spremenljivk se natisnejo pozneje.
2. primer: Ustvarite parametrizirani konstruktor
Naslednja koda bo izračunala skupno plačo zaposlenega na podlagi osnovne plače in poleg izračunane plače natisnila tudi druge podatke o zaposlenem. Tu je prijavljenih sedem spremenljivk razreda. Konstruktor, imenovan 'con2 (),'ima tri parametre. Prva dva parametra bosta zavzela vrednosti nizov vime"in"objava'parametri, tretji parameter pa bo imel številčno vrednost v'osnovno'parameter. Vrednosti teh parametrov bodo posredovane v času ustvarjanja predmeta. Konstruktor bo s temi vrednostmi inicializiral spremenljivke razreda in izračunal druge vrednosti glede na vrednost 'osnovno'parameter. Nato bodo natisnjena ime, delovno mesto in plača zaposlenega.
javni razred con2// Navedite spremenljivke
Ime niza;
String post;
int Basic;
dvojni HouseRent;
dvojno Medicinsko;
dvojni prevoz;
dvojna plača;
// Parametriziran konstruktor
con2 (ime niza, niz sporočila, int basic)
to.ime = ime;
to.objava = objava;
to.Osnovno = osnovno;
to.HouseRent = osnovno * 0.3;
to.Medicinsko = osnovno * 0.2;
to.Prevoz = osnovno * 0.1;
Plača = osnovna + najemnina + medicinski + prevoz;
// glavna () metoda
public static void main (String [] args)
// Ustvari predmet
con2 obj = nov con2 ("Mir Sabbir", "Računovodja", 65000);
// Natisnemo vrednosti lastnosti predmeta
Sistem.ven.print ("Ime zaposlenega:" + obj.ime + "\ n" + "Objava:" + obj.objava +
"\ n" + "Plača: TK" + obj.Plača);
Izhod:
Naslednja slika prikazuje izhodne kode. Tu so v izjavi o ustvarjanju predmeta navedeni ime, delovno mesto in osnovna plača zaposlenega. Skupna plača, ime in delovno mesto so natisnjeni tukaj.
Primer 3: Ustvari verigo konstruktorja
Pomembno je vedeti o značilnosti dedovanja objektno usmerjenega programiranja, da bi razumeli koncept verige konstruktorjev. Ko ustvarimo nov razred z dedovanjem drugega razreda, se to imenuje dedovanje. V tem primeru so vse lastnosti nadrejenega ali osnovnega razreda dostopne iz podrejenega ali izpeljanega razreda. Ko se ustvari objekt podrejenega razreda, samodejno pokliče konstruktor nadrejenega razreda, preden pokliče lastni konstruktor. "super ()'metoda se v drugih jezikih uporablja za klic nadrejenega konstruktorja, vendar jo prevajalnik Java samodejno pokliče. Uporaba konstruktorjev na ta način se imenuje veriženje konstruktorjev in ta postopek je prikazan v tem primeru. Tu je ime nadrejenega razreda 'starš'in ime podrejenega razreda je'con3.'Obstaja še ena metoda z imenom'kombiniraj ()'v podrejenem razredu, ki združuje vrednosti, dodeljene v nadrejenem in podrejenem konstruktorjih.
razred staršev// Prijavi spremenljivko
String strVal;
// Nadrejeni konstruktor
nadrejeni ()
Sistem.ven.println ("imenuje se nadrejeni konstruktor");
strVal = "Všeč mi je";
javni razred con3 podaljša nadrejeno
// Prijavi spremenljivko
String childStrVal;
// Otroški konstruktor
con3 ()
Sistem.ven.println ("Pokliče se podrejeni konstruktor");
childStrVal = strVal + "Programiranje Java";
// Druga metoda za kombiniranje nizov
Kombinacija nizov ()
vrni to.otrokStrVal;
// glavna () metoda
public static void main (String [] args)
// Ustvari predmet
con3 obj = nov con3 ();
// Natisnemo vrednosti lastnosti predmeta
Sistem.ven.natisni (obj.kombiniraj ());
Izhod:
Naslednja slika prikazuje izhodne kode. Prvo sporočilo se natisne iz nadrejenega konstruktorja, drugo sporočilo pa iz podrejenega konstruktorja. Zadnje sporočilo se natisne s klicemkombiniraj ()'metoda.
Zaključek
Koncept konstruktorja in uporabe različnih konstruktorjev so razloženi v tej vadnici z uporabo preprostih primerov kode Java, ki jim lahko sledijo začetniki. Upajmo, da so vam ti primeri pomagali razumeti osnove konstruktorja Java.