Ako implementovať skrývanie metód v Jave



Tento článok vám poskytne podrobné a komplexné vedomosti o tom, ako implementovať skrývanie metód v Jave s príkladmi.

V , musíte byť opatrní pri možnosti skrytia metódy. Metóda vytvorená s rovnakým typom a podpisom v podtriede môže skryť premenné v nadtriede. V tomto článku porozumieme skrývaniu metód v Jave nasledujúcim spôsobom:

Čo je metóda skrývania?

Skrývanie metód je funkčne veľmi podobné metódam prepísania. Pri prepísaní, ak vytvoríte metódu v podtriede s rovnakým typom a podpisom v podtriede, potom umožňuje volanie metód založených na type inštancie.





Logo Java

V prípade statických metód rovnakého typu apodpis v nadtriede a podtriede, potom metóda v podtriede skryje metódu v nadtriede.



Metóda skrytia kódu Java

balíček com.test trieda Parent {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Inside bar method in parent class') )}} class Child extends Parent {// Hiding public static void foo () {System.out.println ('Inside foo method in child class')} // Overriding public void bar () {System.out.println (' Metóda Inside bar v podradenej triede ')}} verejná trieda Kód {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Skrytie metódy ******************** ') p.foo () // Zavolá metódu v nadradenej triede c .foo () // Toto zavolá metódu v nadradenej triede System.out.println ('***************** Prepísanie metódy ************ ******* ') p.bar () // Toto bude volať metódu v nadradenej triede c.bar () // Toto bude volať metódu v podradenej triede}}

Výkon:

zlúčiť program triedenia v jave

Vo vyššie uvedenompríklad, podtrieda Child má statickú metódu foo (), ktorá má rovnaký názov a podpis ako statická metóda v nadradenej triede Parent. Keď voláme p.foo () a c.foo (), volá metódu foo () v nadradenej triede



na rozdiel od prepísania metódy, kde p.bar () volá metódu v nadradenej triede a c.bar () volá metódu v podradenej triede.

Pretože statické metódy sú vyriešené v čase kompilácie, zatiaľ čo kompilácia vyhovuje prvej nadradenej triede a potom podradenej, nemôžememať dve statické metódy s rovnakým názvom, obe metódy foo sú riešené ako metóda foo () nadradenej triedy.

Zhrnutie

Ak má podtrieda statickú metódu s rovnakým menom a podpisom ako statická metóda v nadtriede, potom bude metóda v nadtriede volaná bez ohľadu na to, či je volaná z podradenej triedy alebo nadradenej triedy.

ako nájsť najväčšie číslo v poli java -

V prípade prepísania metódy prepíšeme metódu z nadradenej triedy, tj ak má podtrieda nestatickú metódu s rovnakým názvom a podpisom ako nestatická metóda v nadtriede, potom sa príslušné metódy volajú v závislosti od použitej referencie, tj ak je objekt nadradenej triedy sa používa na volanie nestatickej metódy v nadradenej triede, potom sa použije metóda z nadradenej triedy a ak sa objekt detskej triedy použije na volanie nestatickej metódy v podradenej triede, použije sa metóda z podradenej triedy.

Týmto sa dostávame na koniec tohto článku Skrytie metód v Jave. Pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Skrývanie metód v Jave“ a my sa vám ozveme čo najskôr.