Kako implementirati skrivanje metoda u Javi

Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o tome kako primijeniti skrivanje metoda u Javi s primjerima.

U , morate biti oprezni oko mogućnosti skrivanja metode. Metoda stvorena istim tipom i potpisom u podklasi može sakriti varijable u superklasi. U ovom ćemo članku shvatiti skrivanje metoda u Javi na sljedeći način:

Što je skrivanje metoda?

Skrivanje metoda funkcionalno je vrlo slično metodama koje nadjačavaju. U nadjačavanju ako kreirate metodu u podklasi s istim tipom i potpisom u podklasi, tada omogućuje pozivanje metoda na temelju vrste instance.





Java Logo

U slučaju statičkih metoda s istim tipom ipotpis u nadrazredu i podklasi, tada metoda u podrazredu skriva metodu u nadrazredu.



Metoda skrivanje Java koda

paket com.test class Roditelj {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Metoda unutar trake u roditeljskoj klasi' )}} klasa Dijete proširuje roditelj {// Sakrivanje javne statičke praznine foo () {System.out.println ('Unutar foo metode u podređenoj klasi')} // Nadjačavanje javne praznine () {System.out.println (' Metoda unutar trake u podređenoj klasi ')}} javni kôd klase {javna statička void glavna (String [] args) {Nadređeni p = novi Roditelj () Nadređeni c = novo Dijete () System.out.println (' **** ************ Sakrivanje metode ******************* ') p.foo () // Ovo će pozvati metodu u roditeljskoj klasi c .foo () // Ovo će pozvati metodu u roditeljskoj klasi System.out.println ('**************** Nadjačavanje metode ************ ******* ') p.bar () // Ovo će pozvati metodu u roditeljskoj klasi c.bar () // Ovo će pozvati metodu u podređenoj klasi}}

Izlaz:

U navedenomna primjer, podklasa Child ima statičku metodu foo () koja ima isto ime i potpis kao statička metoda u super-klasi Roditelj. Kada zovemo p.foo () i c.foo (), on poziva metodu foo () u roditeljskoj klasi



za razliku od metode nadjačavanja gdje p.bar () poziva metodu u roditeljskoj klasi, a c.bar () poziva metodu u podređenoj klasi.

Kako se statičke metode rješavaju u vrijeme kompajliranja dok se kompajlira prvo roditeljska klasa, a zatim podređena klasa, a to ne možemoimaju dvije statičke metode s istim imenom, obje metode foo riješene su kao metoda foo () roditeljske klase.

Sažetak

Ako podrazred ima statičku metodu s istim imenom i potpisom kao statička metoda u superklasi, tada će se metoda u super-klasi pozivati ​​bez obzira na to je li pozvana iz podređene ili roditeljske klase.

razlika između bacanja i bacanja

U slučaju nadjačavanja metode nadjačavamo metodu iz roditeljske klase, tj. Ako podrazred ima ne-statičku metodu s istim imenom i potpisom kao ne-statičku metodu u superklasi, tada se pozivaju odgovarajuće metode ovisno o korištenoj referenci, tj. nadređene klase koristi se za pozivanje ne-statičke metode u nadređenoj klasi, zatim se koristi metoda iz roditeljske klase, a ako se objekt podređene klase koristi za pozivanje ne-statičke metode u podređenoj klasi, tada se koristi metoda iz podređene klase.

Ovime smo došli do kraja ovog članka Skrivanje metode u Javi. Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'Skrivanje metoda u Javi', a mi ćemo vam se javiti u najkraćem mogućem roku.