Kuidas rakendada meetodi peitmist Java-s

See artikkel annab üksikasjalikud ja põhjalikud teadmised selle kohta, kuidas rakendada meetodite varjamist Java-s koos näidetega.

Sisse , peate olema meetodi peitmise võimaluse suhtes ettevaatlik. Alamklassis sama tüübi ja allkirjaga loodud meetod võib muutujaid peita superklassis. Selles artiklis mõistame Java-s peituvat meetodit järgmiselt:



kuidas skannerit Java-s kasutada

Mis on meetodi peitmine?

Meetodi varjamine on funktsionaalselt väga sarnane ülekaalukate meetoditega. Kui loote alamklassis sama tüüpi ja allkirjaga alamklassi meetodi, lubab see meetodite kutsumist eksemplari tüübi järgi.



Java logo

Sama tüüpi staatiliste meetodite puhul jasignatuur siis superklassis ja alamklassis, siis peidab alamklassis olev meetod superklassis olevat meetodit.



Meetod Java koodi peitmine

pakett com.test class Vanem {public static void foo () {System.out.println ('Inside foo meetod vanemklassis')} public void bar () {System.out.println ('Inside bar meetod vanemklassis' )}} klass Laps laiendab vanemat. Siseriba meetod lasteklassis ')}} avaliku klassi kood {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Meetodi peitmine ********************) p.foo () // See kutsub meetodit vanemklassis c .foo () // See kutsub meetodi üles vanemklassis System.out.println ('***************** Meetod alistab ************ ******* ') p.bar () // See kutsub meetodit vanemklassis c.bar () // See kutsub meetodit lasteklassis}}

Väljund:

EespoolNäiteks on alamklassi Lapsel staatiline meetod foo (), millel on sama nimi ja allkiri kui staatilisel meetodil superklassi Vanemas. Kui kutsume p.foo () ja c.foo (), kutsub see vanemklassis meetodit foo ()



erinevalt meetodi ülekandmisest, kus p.bar () kutsub meetodit vanemklassis ja c.bar () kutsub meetodit lasteklassis.

mis on nimeruum c ++ -s

Kuna staatilised meetodid lahendatakse kompileerimise ajal, samal ajal kui koostatakse esimene vanemateklass ja seejärel lasteklass, siis me ei saa seda tehateil on kaks sama nimega staatilist meetodit, mõlemad foo-meetodid on lahendatud vanemklassi meetodina foo ().

Kokkuvõte

Kui alamklassil on staatiline meetod, millel on sama nimi ja allkiri kui staatilisel meetodil superklassis, on superklassi meetod call, olenemata sellest, kas seda kutsutakse lapseklassist või vanemklassist.

Meetodi eiramise korral alistame meetodi vanemklassist, st kui alamklassil on mittestatiline meetod, millel on sama nime ja allkirjaga superklassis mittestaatilise meetodi meetod, siis kutsutakse vastavaid meetodeid olenevalt kasutatud viitest, st kui objekt vanema klassi kasutatakse staatilise meetodi kutsumiseks vanema klassis, siis kasutatakse vanema klassi meetodit ja kui alamklassi objekti kasutatakse mittestaatilise meetodi kutsumiseks lapseklassis, siis kasutatakse lasteklassist pärit meetodit.

Sellega jõuame selle meetodi lõppu, mis on varjatud Java-s. Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad.

aws käivitab eksemplari hetktõmmisest

Kas teil on meile küsimus? Palun mainige seda selle blogi “Method Hiding in Java” kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.