Java llama a métodos sobrecargados [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Cómo JVM encuentra el método (parámetro con la coincidencia más cercana) para llamar en caso de sobrecarga de funciones 6 respuestasConsidere este segmento de código
class StockServer {
StockServer(String company, int Shares,double currentPrice, double cashOnHand) {}
double buy(int numberOfShares, double pricePerShare) {
System.out.println("buy(int,double)");
return 3.0;
}
float buy(long numberOfShares, double pricePerShare) {
System.out.println("buy(long,double)");
return 3.0f;
}
}
Si ejecuto estas líneas de código,
StockServer a = new StockServer("",2,2.0,2);
byte b=5;
a.buy(b,2);
Los resultados serían: comprar (int, doble).
¿Quiero saber cómo el compilador decide qué método ejecutar?