Como implementar métodos ocultos em Java



Este artigo fornecerá um conhecimento detalhado e abrangente sobre como implementar métodos ocultos em Java com exemplos.

Dentro , você precisa ter cuidado com a possibilidade de ocultação do método. Um método criado com o mesmo tipo e assinatura na subclasse pode ocultar variáveis ​​em uma superclasse. Neste artigo, entenderemos o método de ocultação em Java da seguinte maneira:

O que é Método Escondido?

A ocultação de método é funcionalmente muito semelhante à substituição de métodos. Ao substituir, se você criar um método na subclasse com o mesmo tipo e assinatura na subclasse, ele permitirá a chamada de métodos com base no tipo de instância.





Logo Java

No caso de métodos estáticos com o mesmo tipo eassinatura na superclasse e subclasse, então, o método na subclasse oculta o método na superclasse.



Método ocultando código Java

package com.test class Parent {public static void foo () {System.out.println ('Método foo interno na classe pai')} public void bar () {System.out.println ('Método da barra interna na classe pai' )}} class Child extends Parent {// Ocultando public static void foo () {System.out.println ('Por dentro do método foo na classe filha')} // Substituindo public void bar () {System.out.println (' Método da barra interna na classe filha ')}} public class Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Método ocultando ******************** ') p.foo () // Isso irá chamar o método na classe pai c .foo () // Isso irá chamar o método na classe pai System.out.println ('**************** Substituição de método ************ ******* ') p.bar () // Isso irá chamar o método na classe pai c.bar () // Isso irá chamar o método na classe filha}}

Resultado:

ng-change vs onchange

No acimaPor exemplo, a subclasse Child tem o método estático foo () com o mesmo nome e assinatura de um método estático na superclasse Parent. Quando chamamos p.foo () e c.foo (), ele chama o método foo () na classe pai



ao contrário da substituição de método, onde p.bar () está chamando o método na classe pai e c.bar () chama o método na classe filha.

Como os métodos estáticos são resolvidos em tempo de compilação, enquanto a compilação, a primeira classe pai é compilada e depois a classe filha, não podemostêm dois métodos estáticos com o mesmo nome, ambos os métodos foo são resolvidos como método foo () da classe pai.

sincronização de thread em exemplo java

Resumo

Se uma subclasse tiver um método estático com o mesmo nome e assinatura de um método estático na superclasse, o método na superclasse será chamado independentemente do fato de ser chamado da classe filha ou da classe pai.

No caso de sobrescrever o método, nós sobrescrevemos o método da classe pai, ou seja, se uma subclasse tem um método não estático com o mesmo nome e assinatura de um método não estático na superclasse, então os respectivos métodos são chamados dependendo da referência usada, ou seja, se objeto da classe pai é usado para chamar o método não estático na classe pai, então o método da classe pai é usado e se o objeto da classe filha é usado para chamar o método não estático na classe filha, então o método da classe filha é usado.

Com isso, chegamos ao final deste artigo sobre Método Escondido em Java. Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “Method Hiding in Java” e entraremos em contato com você o mais breve possível.