sobrecarregando e seleção de parâmetros null
em java, quando um método é sobrecarregado, vários métodos existem com o mesmo nome, mas diferentes parâmetros listas. Quando uma invocação de método é feita, o compilador determina qual método sobrecarregado chama com base no número e nos tipos dos argumentos reais aprovados. Método public void (objeto O) { System.out.println ("Object Verion"); } Método public void (strings) { System.out.println ("string versão"); } public static void main (string args []) { MoneyCalc Pergunta = New MoneyCalc (); question.method (nulo); } }
Pergunta:
public class MoneyCalc { public void method(Object o) { System.out.println("Object Verion"); } public void method(String s) { System.out.println("String Version"); } public static void main(String args[]) { MoneyCalc question = new MoneyCalc(); question.method(null); } }
Responder:
em Java, null é um special constant thats a reprides a reprima a referência a em Java, null é um valor especial que é reproduz. Não é um valor de qualquer tipo específico, mas pode ser atribuído a uma variável de qualquer tipo de referência, incluindo objeto e string. De acordo com a especificação do idioma Java (JLS), a sobrecarga mais específica é escolhida com base em sua aplicabilidade e especificidade. Nesse caso, o NULL é aplicável a ambos os métodos, pois pode ser atribuído a variáveis dos tipos de objeto e string. Nesse caso, a sobrecarga do método (string) é mais específica porque foi projetada para lidar apenas com argumentos da string do tipo. O método (objeto) sobrecarga é mais geral, pois pode lidar com argumentos do objeto de tipo ou qualquer uma de suas subclasses. Classe do MoneyCalc, ocorreria um erro de compilação. Isso ocorre porque nem o método (string) nem o método (StringBuffer) seriam mais específicos do que o outro neste caso, levando a uma ambiguidade na seleção de métodos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3