Как реализовать скрытие методов в Java



Эта статья предоставит вам подробные и всесторонние знания о том, как реализовать скрытие методов в Java с помощью примеров.

В , нужно быть осторожным с возможностью скрытия метода. Метод, созданный с тем же типом и сигнатурой в подклассе, может скрывать переменные в суперклассе. В этой статье мы поймем сокрытие методов в Java следующим образом:

программа сортировки слиянием в java

Что такое скрытие метода?

Скрытие метода функционально очень похоже на переопределение методов. При переопределении, если вы создаете метод в подклассе с тем же типом и сигнатурой в подклассе, он позволяет вызывать методы на основе типа экземпляра.





Логотип Java

В случае статических методов одного типа иподпись в суперклассе и подклассе, тогда метод в подклассе скрывает метод в суперклассе.



Метод сокрытия кода Java

package com.test class Parent {public static void foo () {System.out.println ('Метод внутри foo в родительском классе')} public void bar () {System.out.println ('Метод внутренней панели в родительском классе' )}} class Child extends Parent {// Скрытие public static void foo () {System.out.println ('Внутри метода foo в дочернем классе')} // Переопределение public void bar () {System.out.println (' Метод внутренней панели в дочернем классе ')}} открытый класс Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Скрытие метода ******************* ') p.foo () // Это вызовет метод в родительском классе c .foo () // Это вызовет метод в родительском классе System.out.println ('***************** Метод переопределения ************ ******* ') p.bar () // Это вызовет метод в родительском классе c.bar () // Это вызовет метод в дочернем классе}}

Вывод:

В приведенном вышеНапример, подкласс Child имеет статический метод foo (), имеющий то же имя и подпись, что и статический метод в суперклассе Parent. Когда мы вызываем p.foo () и c.foo (), он вызывает метод foo () в родительском классе



в отличие от переопределения метода, когда p.bar () вызывает метод в родительском классе, а c.bar () вызывает метод в дочернем классе.

установить путь к классам Java 10

Поскольку статические методы разрешаются во время компиляции, в то время как компиляция выполняется первый родительский класс, а затем дочерний класс, мы не можемимеют два статических метода с одинаковым именем, оба метода foo разрешаются как метод foo () родительского класса.

Резюме

Если у подкласса есть статический метод с тем же именем и сигнатурой, что и у статического метода в суперклассе, то метод в суперклассе будет вызываться независимо от того, вызывается он из дочернего класса или родительского класса.

что такое pojo в Java

В случае переопределения метода мы переопределяем метод из родительского класса, т.е. если подкласс имеет нестатический метод с тем же именем и подписью, что и нестатический метод в суперклассе, тогда соответствующие методы вызываются в зависимости от используемой ссылки, т.е. если объект родительского класса используется для вызова нестатического метода в родительском классе, тогда используется метод из родительского класса, и если объект дочернего класса используется для вызова нестатического метода в дочернем классе, тогда используется метод из дочернего класса.

На этом мы подошли к концу статьи «Скрытие методов в Java». Проверьте от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев в блоге «Скрытие методов в Java», и мы свяжемся с вами в ближайшее время.