Konstruktori omadused
- Konstruktori nimi peab olema sama mis klassi nimi.
- Tagastustüüp on tühine.
- Konstruktor ei saa olla staatiline, abstraktne ja lõplik.
Konstruktori tüübid
- Vaikimisi
- Parameetriteta
- Parameetriline
1. Vaikekonstruktor
Vaikekonstruktori loob Java kompilaator, kui kooder ei deklareeri klassi ühtegi konstruktorit ja see konstruktor ei sisalda ühtegi argumenti. Java-fail ei sisalda vaikekonstruktori koodi. Konstruktori vaikekood luuakse Java-koodi koostamise ajal ja see salvestatakse .klass faili.
2. Parameetriteta konstruktor
Kui konstruktor deklareeritakse ilma parameetrite või argumentideta, siis nimetatakse seda parameetriteta konstruktoriks. Parameetriteta konstruktor töötab nagu vaikekonstruktor ja see konstruktor võib sisaldada lauseid või olla tühi.
3. Parameetriline konstruktor
Kui mõni konstruktor deklareeritakse ühe või mitme parameetriga, siis nimetatakse seda parameetriga konstruktoriks. Konstruktori parameetriväärtused edastatakse objekti loomise ajal.
Näide 1: Parameetriteta konstruktori loomine
Järgmine kood näitab, kuidas kasutada parameetriteta konstruktorit. Enne mainiti, et konstruktori meetodi nimi on sama, mis klassi nimi. Siin on klassi nimi 'con1,"nii et parameetriteta konstruktori nimi on"con1 ()."Kaks klassi muutujat"nimi"ja"vanus,deklareeritakse siin. Objekti muutuja deklareerimise ajalobj,'helistatakse konstruktorile ja prinditakse konkreetne teade. Pärast seda määratakse klassi muutujatesse kaks väärtust ja need prinditakse hiljem, kasutades 'obj' objekt.
avalik klass con1// deklareeri muutujad
Stringi nimi;
int vanus;
// Parameetriteta konstruktor
con1 ()
Süsteem.välja.println ("Konstruktorit nimetatakse.");
// Initsialiseerige muutujad
nimi = "Fahim Reza";
vanus = 30;
// main () meetod
public staatiline void main (String [] args)
// Loo objekt
con1 obj = uus con1 ();
// Prindi objekti omaduste väärtused
Süsteem.välja.print ("Vanus" + obj.nimi + "on" + obj.vanus);
Väljund:
Järgmine pilt näitab koodi väljundit. Konstruktorit kutsutakse objekti loomise ajal ja sõnum “Ehitajat kutsutakse”On trükitud. Väärtusednimi"ja"vanus'on määratud konstruktori sisemusse. Nende muutujate väärtused prinditakse hiljem.
Näide 2: looge parameetriga konstruktor
Järgmise koodiga arvutatakse töötaja kogupalk põhipalga põhjal ja trükitakse arvutatud palga kõrvale ka selle töötaja muu teave. Siin deklareeritakse seitse klassi muutujat. Konstruktor, nimegacon2 (),'on kolm parameetrit. Esimesed kaks parameetrit võtavad stringiväärtused 'nimi"ja"postitusparameetrid ja kolmas parameeter võtab numbrilise väärtusepõhiline'parameeter. Nende parameetrite väärtused edastatakse objekti loomise ajal. Konstruktor lähtestab klassi muutujad nende väärtustega ja arvutab muud väärtused väärtuse 'põhiline'parameeter. Järgmisena trükitakse töötaja nimi, ametikoht ja palk.
avalik klass con2// Deklareerige muutujad
Stringi nimi;
Stringipost;
int Põhi;
kahekordne HouseRent;
topelt Medical;
topelt Transport;
kahekordne palk;
// Parameetriline konstruktor
con2 (stringi nimi, stringi postitus, int basic)
seda.nimi = nimi;
seda.post = postitus;
seda.Põhiline = põhiline;
seda.HouseRent = põhiline * 0.3;
seda.Meditsiiniline = põhiline * 0.2;
seda.Transport = põhiline * 0.1;
Palk = põhiline + Majarent + Meditsiiniline + Transport;
// main () meetod
public staatiline void main (String [] args)
// Loo objekt
con2 obj = uus con2 ("Mir Sabbir", "Raamatupidaja", 65000);
// Prindi objekti omaduste väärtused
Süsteem.välja.print ("Töötaja nimi:" + obj.nimi + "\ n" + "Postitus:" + obj.postitus +
"\ n" + "Palk: TK" + obj.Palk);
Väljund:
Järgmine pilt näitab koodi väljundit. Siin on töötaja nimi, ametikoht ja põhipalk toodud objekti loomise avalduses. Siin trükitakse kogu palk, nimi ja ametikoht.
Näide 3: Konstruktori aheldamise loomine
Konstruktorite aheldamise kontseptsiooni mõistmiseks on oluline teada objektorienteeritud programmeerimise pärilikkuse tunnust. Kui uus klass luuakse teise klassi pärimise teel, nimetatakse seda pärimiseks. Sellisel juhul on kõik vanema või põhiklassi omadused ligipääsetavad lapsest või tuletatud klassist. Kui lasteklassi objekt luuakse, kutsub see automaatselt vanemklassi konstruktori, enne kui helistab oma konstruktorile. "Super()'meetodit kasutatakse vanemkonstruktori kutsumiseks teistes keeltes, kuid Java kompilaator kutsub seda meetodit automaatselt. Sellist konstruktorite kasutamist nimetatakse konstruktorite aheldamiseks ja seda protsessi on näidatud selles näites. Siin on vanema klassi nimi 'vanem"ja lasteklassi nimi on"con3."On veel üks meetod nimega"ühendama ()'lapseklassis, mis ühendab vanema ja lapse konstruktorite määratud väärtused.
klassi vanem// Deklareeri muutuja
String strVal;
// Vanemkonstruktor
vanem ()
Süsteem.välja.println ("Vanemkonstruktorit nimetatakse");
strVal = "Mulle meeldib";
avalik klass con3 laiendab vanemat
// Deklareeri muutuja
String stringStrVal;
// lastekonstruktor
con3 ()
Süsteem.välja.println ("Lastekonstruktorit nimetatakse");
childStrVal = strVal + "Java programmeerimine";
// Teine meetod stringide ühendamiseks
Keelpillikombain ()
tagastage see.lapsStrVal;
// main () meetod
public staatiline void main (String [] args)
// Loo objekt
con3 obj = uus con3 ();
// Prindi objekti omaduste väärtused
Süsteem.välja.trükk (obj.kombineerima ());
Väljund:
Järgmine pilt näitab koodi väljundit. Esimene sõnum prinditakse vanemkonstruktorilt, teine teade aga alamkonstruktorilt. Viimane teade prinditakse helistadesühendama ()meetod.
Järeldus
Konstruktori kontseptsiooni ja erinevate konstruktorite kasutusi selgitatakse selles õpetuses, kasutades lihtsaid Java-koodide näiteid, mida algajad kasutajad saavad jälgida. Loodetavasti on need näited aidanud teil mõista Java konstruktori põhitõdesid.