Java konstruktori õpetus

Java Constructor Tutorial



Konstruktoritööriist on väga oluline ja kasulik meetod, mida kasutatakse objektorienteeritud programmeerimisel. Konstruktori deklareerimine ühegi klassi jaoks ei ole kohustuslik ja seda tööriista kasutatakse peamiselt klassi objekti initsialiseerimiseks objekti loomise ajal. Konstruktor ei tööta nagu teised tavalised meetodid. Pigem kutsutakse konstruktoritööriist objekti deklareerimisel automaatselt ja see eraldab objektile mälukoha. See õpetus näitab teile, kuidas Java-klassi programmeerimisel saab rakendada ja kasutada erinevat tüüpi kasutaja määratud konstruktoreid.

Konstruktori omadused

  1. Konstruktori nimi peab ühtima klassi nimega.
  2. Tagastamise tüüp on tühine.
  3. Konstruktor ei saa olla staatiline, abstraktne ja lõplik.

Konstruktori tüübid







  1. Vaikimisi
  2. Parameetriteta
  3. Parametreeritud

1. Vaikekonstruktor

Vaikekonstruktori loob Java kompilaator, kui kodeerija ei deklareeri klassile ü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 kausta .klass faili.



2. Parameetrivaba konstruktor

Kui konstruktor deklareeritakse ilma parameetrite või argumentideta, nimetatakse seda parameetrivabaks konstruktoriks. Parameetrivaba konstruktor töötab nagu vaikekonstruktor ja see konstruktor võib sisaldada avaldusi või olla tühi.



3. Parameetritega konstruktor

Kui mõni konstruktor on deklareeritud ühe või mitme parameetriga, nimetatakse seda parameetriliseks konstruktoriks. Konstruktori parameetrite väärtused edastatakse objekti loomise ajal.





Näide 1: parameetrivaba konstruktori loomine

Järgmine kood näitab, kuidas kasutada parameetrivaba konstruktorit. Varem mainiti, et konstruktori meetodi nimi on sama, mis klassi nimi. Siin on klassi nimi ' con1 , Nii et parameetrivaba konstruktori nimi on „ con1 () . 'Kaks klassi muutujat,' nimi 'Ja' vanus , 'Kuulutatakse siin. Objekti muutuja deklareerimise ajal obj , ”Helistatakse konstruktorile ja prinditakse konkreetne teade. Pärast seda määratakse klassi muutujatele kaks väärtust ja need trükitakse hiljem, kasutades 'Obj' objekti.

avalik klassicon1{

// muutujate deklareerimine
String nimi;
intvanus;

// Parameetrivaba konstruktor
con1() {
Süsteem .välja.println('Konstruktorit kutsutakse.');

// Initsialiseeri muutujad
nimi= 'Fahim Reza';
vanus= 30;
}

// peamine () meetod
avalik staatiline tühinepeamine( String []args) {

// Loo objekt
con1 obj= uuscon1();

// Prindi objekti atribuutide väärtused
Süsteem .välja.printida('Vanus' +obj.nimi + ' on ' +obj.vanus);
}
}

Väljund:



Järgmine pilt näitab koodi väljundit. Konstruktorile helistatakse objekti loomise ja sõnumi ajal Konstruktorit kutsutakse on trükitud. Väärtused ' nimi 'Ja' vanus 'On konstruktori sees. Nende muutujate väärtused trükitakse hiljem.

Näide 2: looge parameetriline konstruktor

Järgmine kood arvutab põhipalga alusel töötaja kogupalga ja prindib koos arvutatud palgaga selle töötaja muu teabe. Siin deklareeritakse seitse klassi muutujat. Konstruktor, nimega ' con2 () , On kolm parameetrit. Esimesed kaks parameetrit võtavad stringi väärtused nimi 'Ja' postitada 'Parameetrid ja kolmas parameeter võtab numbrilise väärtuse põhiline 'Parameeter. Nende parameetrite väärtused edastatakse objekti loomise ajal. Konstruktor lähtestab nende muutujatega klassimuutujad ja arvutab muud väärtused väärtuse „ põhiline 'Parameeter. Järgmisena trükitakse töötaja nimi, ametikoht ja palk.

avalik klassicon2{

// Muutujate deklareerimine
String nimi;
String postitada;
intPõhiline;
kahekordneHouseRent;
kahekordneMeditsiiniline;
kahekordneTransport;
kahekordnePalk;

// Parameetritega konstruktor
con2( String nimi, String postitus,intpõhiline) {
seda.nimi =nimi;
seda.postitada =postitada;
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+HouseRent+Meditsiiniline+Transport;
}

// peamine () meetod
avalik staatiline tühinepeamine( String []args) {

// Loo objekt
con2 obj= uuscon2('Mir Sabbir','Raamatupidaja',65000);

// Prindi objekti atribuutide väärtused
Süsteem .välja.printida('Töötaja nimi:' +obj.nimi + ' n' + 'Postitus:'+obj.postitada +
' n' + 'Palk: TK'+obj.Palk);
}
}

Väljund:

Järgmine pilt näitab koodi väljundit. Siin on objekti loomise avalduses toodud töötaja nimi, ametikoht ja põhipalk. Siia trükitakse kogu palk, nimi ja ametikoht.

Näide 3: looge konstruktori ahel

Konstruktori aheldamise mõiste mõistmiseks on oluline teada objektorienteeritud programmeerimise pärimisfunktsiooni. Kui uus klass luuakse teise klassi pärimise teel, nimetatakse seda pärandiks. Sel juhul on kõik vanem- või põhiklassi omadused juurdepääsetavad alam- või tuletatud klassist. Alamklassi objekti loomisel helistab see automaatselt enne oma konstruktori kutsumist vanemklassi konstruktorile. „ Super() ’Meetodit kasutatakse teistes keeltes vanemkonstruktori kutsumiseks, kuid Java kompilaator kutsub selle meetodi automaatselt. Konstruktorite kasutamist sellisel viisil nimetatakse konstruktorite aheldamiseks ja seda protsessi näidatakse selles näites. Siin on vanemklassi nimi „ lapsevanem 'Ja lasteklassi nimi on' con3 . 'On veel üks meetod nimega' ühendama () Alamklassi, mis ühendab vanem- ja alamkonstruktorites määratud väärtused.

klassilapsevanem{

// Deklareeri muutuja
String strVal;

// Vanemkonstruktor
lapsevanem(){
Süsteem .välja.println('Emakonstruktori nimi on');
strVal= 'Mulle meeldib ';
}
}

avalik klassicon3ulatublapsevanem{

// Deklareeri muutuja
String childStrVal;

// Lapse konstruktor
con3(){
Süsteem .välja.println('Lapse konstruktorit nimetatakse');
childStrVal=strVal+ 'Java programmeerimine';
}

// Teine meetod stringide ühendamiseks
String kombineerima()
{
tagasi seda.childStrVal;
}

// peamine () meetod
avalik staatiline tühinepeamine( String []args) {

// Loo objekt
con3 obj= uuscon3();
// Prindi objekti atribuutide väärtused
Süsteem .välja.printida(obj.kombineerima());
}
}

Väljund:

Järgmine pilt näitab koodi väljundit. Esimene teade prinditakse vanemkonstruktorilt ja teine ​​teade prinditakse alamkonstruktorilt. Viimane teade prinditakse, helistades ühendama () ’Meetod.

Järeldus

Konstruktori kontseptsiooni ja erinevate konstruktorite kasutusviise selgitatakse selles õpetuses, kasutades lihtsaid Java -koodi näiteid, mida algajad kasutajad saavad järgida. Loodetavasti on need näited aidanud teil mõista Java konstruktori põhitõdesid.