Jak implementovat skrývání metod v Javě

Tento článek vám poskytne podrobné a komplexní znalosti o tom, jak implementovat skrývání metod v Javě s příklady.

v , musíte být opatrní ohledně možnosti skrytí metody. Metoda vytvořená se stejným typem a podpisem v podtřídě může skrýt proměnné v nadtřídě. V tomto článku porozumíme metodě Skrývání v Javě následujícím způsobem:

Co je metoda skrývání?

Skrývání metod je funkčně velmi podobné metodám přepsání. Při přepsání, pokud vytvoříte metodu v podtřídě se stejným typem a podpisem v podtřídě, pak umožňuje volání metod založených na typu instance.





Logo Java

V případě statických metod se stejným typem apodpis v nadtřídě a podtřídě pak, pak metoda v podtřídě skryje metodu v nadtřídě.



Metoda Skrytí Java kódu

balíček com.test třída Parent {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Inside bar metoda v nadřazené třídě') )}} 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 (' Metoda Inside bar v podřízené třídě ')}} veřejná třída Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Skrytí metody ******************** ') p.foo () // Toto zavolá metodu v nadřazené třídě c .foo () // Toto zavolá metodu v nadřazené třídě System.out.println ('***************** Přepisování metody ************ ******* ') p.bar () // Zavolá metodu v nadřazené třídě c.bar () // Zavolá metodu v podřízené třídě}}

Výstup:

jak psát v Javě

Ve výše uvedenémpříklad, podtřída Child má statickou metodu foo () se stejným názvem a podpisem jako statická metoda v nadřazené Parent. Když voláme p.foo () a c.foo (), volá metodu foo () v nadřazené třídě



na rozdíl od přepsání metody, kde p.bar () volá metodu v nadřazené třídě a c.bar () volá metodu v podřízené třídě.

Protože statické metody jsou vyřešeny v době kompilace, zatímco kompilace je splněna první nadřazená třída a poté podřízená třída, nemůžememít dvě statické metody se stejným názvem, obě metody foo jsou vyřešeny jako metoda foo () nadřazené třídy.

souhrn

Pokud má podtřída statickou metodu se stejným názvem a podpisem jako statická metoda v nadtřídě, bude metoda v nadtřídě volána bez ohledu na to, zda je volána z podřízené třídy nebo nadřazené třídy.

co je blockchainový vývojář

V případě přepsání metody přepíšeme metodu z nadřazené třídy, tj. Má-li podtřída nestatickou metodu se stejným názvem a podpisem jako nestatická metoda v nadtřídě, jsou příslušné metody volány v závislosti na použité referenci, tj. Pokud objekt z nadřazené třídy se používá k volání nestatické metody v nadřazené třídě, pak se použije metoda z nadřazené třídy a pokud se použije objekt podřízené třídy k volání nestatické metody v podřízené třídě, použije se metoda z podřízené třídy.

Tímto se dostáváme na konec tohoto článku o Skrývání metod v Javě. Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Metoda skrývání v Javě“ a my se vám ozveme co nejdříve.