Javas mängivad konstruktorid klassi eksemplari initsialiseerimisel otsustavat rolli. Need on sarnased Java meetoditega. Kuid konstruktori nimi on alati sama mis klassi nimi, samas kui tavalisel meetodil võib olla mis tahes kehtiv nimi. Enamasti nimetatakse neid ka objekti deklareerimise erimeetoditeks. Saate luua konstruktori aheldamise, mis toimub pärimise abil. Laps-/alamklassi konstruktor kutsub esmalt esile vanema/üliklassi konstruktori ja seejärel saab kutsuda alamklassi konstruktoreid.
See postitus räägib konstruktorite aheldamisest Javas.
Konstruktorite kettimine Javas
Konstruktori vahetus on kõige olulisem protseduur konstruktori kutsumisel teise konstruktori juurde vastavalt püstitatud eesmärkidele. Konstruktorite aheldamise üks peamisi kasutusviise on üleliigsete koodide vältimine, kui teil on mitu konstruktorit. See muudab koodi kergesti mõistetavaks ja loetavaks.
Javas konstruktorite aheldamiseks on kaks meetodit, nagu allpool mainitud:
Kontrollime neid meetodeid ükshaaval, et konstruktori aheldamisest paremini aru saada.
1. meetod: konstruktori aheldamine samas klassis, kasutades märksõna “this()”.
Kui konstruktori aheldamine toimub samas klassis, siis Java ' see () ” kasutatakse märksõna. Klassi eksemplari käivitamisel kutsutakse välja vaikekonstruktor. See kutsub teist konstruktorit kasutades ' see ” märksõna. Seejärel käivitage konsoolis tulemuse kuvamiseks meetod 'println()'.
min ( ) {
see ( 5 ) ;
System.out.println ( 'Vaikekonstruktor' ) ;
}
Nüüd kutsuge teine konstruktor, mis koosneb parameetrist ' a ' ja määrake parameetrite väärtused jaotises ' see () ” märksõna. Seejärel kasutage ' println() ' ja andke tulemuse näitamiseks argumendiks 'a':
see ( 5 , kakskümmend ) ;
System.out.println ( a ) ;
}
Selles konstruktoris oleme edastanud kaks täisarvu tüüpi parameetrit kui ' a ” ja „ b ”. Pärast seda käivitage meetod 'println()' ja edastage ' a*b ', mis tagastab nende muutujate korrutise:
System.out.println ( a * b ) ;
}
jaotises ' peamine () ” meetodil, käivitage vaikekonstruktor, mis kutsub automaatselt teisi konstruktoreid ja kuvab tulemuse konsoolil:
uus min ( ) ;
}
Selle tulemusena kuvatakse konsoolil kõigi konstruktorite väljund:
Kui soovite aheldada konstruktori mitmesse klassi, vaadake alltoodud meetodit.
2. meetod: konstruktori aheldamine teise klassiga, kasutades märksõna 'super()'.
Samuti saate aheldada konstruktoreid ühest klassist teise. Selleks kasutatakse märksõna 'super()'. Selleks kasutage põhiklassis järgmist koodi.
Kõigepealt määrake stringi tüüpi muutuja ' nimi ” ja kutsuge esimene konstruktor, kasutades põhiklassi nime:
Stringi nimi;min ( ) {
see ( '' ) ;
System.out.println ( 'Ilma põhiklassi konstruktorita' ) ;
}
Käivitage teine konstruktor ja edastage ülaltoodud muutuja ' Stringi nimi parameetrina. Kasuta ' see ' märksõna, et pääseda juurde väärtusele ja kutsuda esile println() ” printimismeetod:
this.name = nimi;
System.out.println ( 'Baasi parameetristatud konstruktori kutsumine' ) ;
}
Sees ' peamine () ' meetodil, kutsuge alamklass parameetriga ' nimi ”. See kutsub vanemklassi konstruktoreid, kus parameeter ' nimi ” on läbitud. Seejärel kutsub see alamklassi konstruktori parameetriga ' nimi ”:
uus Laps ( 'nimi' ) ;
}
Luuakse lapsklass, mis kasutab ulatub ” märksõna vanemklassi pärimiseks ja kolmanda konstruktori kutsumiseks. Pärast seda kutsuge järgmine konstruktor ja selle konstruktori sees käivitage vanemklassi teine konstruktor:
Laps ( ) {
System.out.println ( 'Ilma argumentideta lapseklassi konstruktor' ) ;
}
Laps ( Stringi nimi ) {
Super ( nimi ) ;
System.out.println ( 'Parameetristatud lapse konstruktori kutsumine' ) ;
}
}
Väljund
See kõik puudutab Java konstruktorite aheldamist.
Järeldus
Javas toimub konstruktorite aheldamine samas klassis märksõna 'this()' abil, samas kui märksõna 'super()' kasutatakse konstruktorite aheldamiseks erinevates klassides. Konstruktori aheldamine toimub pärimise abil. Alamklassi konstruktor kutsub kõigepealt välja superklassi konstruktori ja seejärel saab kutsuda alamklassi konstruktoreid. Selles postituses on käsitletud konstruktori aheldamist Javas praktiliste näidetega.