Jak zaimplementować ukrywanie metod w Javie



Ten artykuł dostarczy Ci szczegółowej i wszechstronnej wiedzy na temat implementacji ukrywania metod w Javie wraz z przykładami.

W należy uważać na możliwość ukrycia metody. Metoda utworzona z tym samym typem i podpisem w podklasie może ukrywać zmienne w nadklasie. W tym artykule będziemy rozumieć ukrywanie metod w Javie w następujący sposób:

Co to jest ukrywanie metod?

Ukrywanie metod jest funkcjonalnie bardzo podobne do nadpisywania metod. W przypadku przesłaniania, jeśli utworzysz metodę w podklasie o tym samym typie i sygnaturze w podklasie, to umożliwia wywołanie metod w oparciu o typ instancji.





Logo Java

W przypadku metod statycznych tego samego typu ipodpis w nadklasie i podklasie, a następnie metoda w podklasie ukrywa metodę w nadklasie.



Metoda ukrywania kodu Java

pakiet com.test class 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 (' Metoda Inside bar w klasie potomnej ')}} public class Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Ukrywanie metody ******************* ') p.foo () // Spowoduje to wywołanie metody w klasie nadrzędnej c .foo () // Spowoduje to wywołanie metody z klasy nadrzędnej System.out.println ('**************** Nadpisywanie metody ************ ******* ') p.bar () // To wywoła metodę w klasie nadrzędnej c.bar () // Spowoduje to wywołanie metody w klasie potomnej}}

Wynik:

struktura oparta na słowach kluczowych w selenie

W powyższymNa przykład podklasa Child ma statyczną metodę foo () o takiej samej nazwie i sygnaturze, jak statyczna metoda w superklasie Parent. Kiedy wywołujemy p.foo () i c.foo (), wywołuje metodę foo () w klasie nadrzędnej



w przeciwieństwie do przesłaniania metody, gdzie p.bar () wywołuje metodę z klasy nadrzędnej, a c.bar () wywołuje metodę z klasy potomnej.

Ponieważ metody statyczne są rozwiązywane w czasie kompilacji, podczas kompilacji przestrzegana jest pierwsza klasa nadrzędna, a następnie klasa potomna, czego nie możemymają dwie metody statyczne o tej samej nazwie, obie metody foo są rozwiązywane jako metoda foo () klasy nadrzędnej.

Podsumowanie

Jeśli podklasa ma metodę statyczną o tej samej nazwie i sygnaturze, jak metoda statyczna w nadklasie, wywoływana będzie metoda z nadklasy niezależnie od tego, czy jest wywoływana z klasy potomnej czy z klasy nadrzędnej.

rekurencja Fibonacciego c ++

W przypadku przesłaniania metody nadpisujemy metodę z klasy nadrzędnej, tj. Jeśli podklasa ma metodę niestatyczną o takiej samej nazwie i sygnaturze jak metoda niestatyczna w nadklasie, wówczas wywoływane są odpowiednie metody w zależności od użytego odniesienia, tj. Jeśli obiekt klasy nadrzędnej służy do wywołania metody niestatycznej w klasie nadrzędnej, wówczas używana jest metoda z klasy nadrzędnej, a jeśli obiekt klasy potomnej jest używany do wywołania metody niestatycznej w klasie potomnej, wówczas używana jest metoda z klasy potomnej.

Tym samym dochodzimy do końca artykułu o metodach ukrywania w Javie. Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Metody ukrywania w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.