Stack Overflow em Português Asked by Dr.G on December 1, 2020
Tendo 2 métodos com mesmo nome, porém os tipos são diferentes (double
e float
), a quantidade de parâmetro é a mesma, qual dos métodos o Java vai reconhecer primeiro e por quê?
Depende de qual valor for usado na sua chamada. Se o valor for um float
ou qualquer outro que seja automaticamente convertido para float
, será o o método que recebe float
, se o tipo do argumento da chamada do método for um double
, chamará o método cujo parâmetro é um double
.
Não existe isso de qual será chamado primeiro. Salvo a pergunta partir de uma premissa errada.
class Classe {
void metodo(float x) {
System.out.printf("Float %fn", x);
}
void metodo(double x) {
System.out.printf("Double %fn", x);
}
}
class Ideone {
public static void main(String args[]) {
Classe classe = new Classe();
classe.metodo(1);
classe.metodo(1.0);
classe.metodo(1.0f);
}
}
Veja funcionando no ideone. E no repl.it. Também coloquei no GitHub para referência futura.
Correct answer by Maniero on December 1, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP