Java вызывает перегруженные методы [дубликаты]
На этот вопрос уже есть ответ здесь:
Как JVM находит метод (параметр с наиболее близким соответствием) для вызова в случае перегрузки функции 6 ответовРассмотрим этот сегмент кода
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;
}
}
Если я выполню эти строки кода,
StockServer a = new StockServer("",2,2.0,2);
byte b=5;
a.buy(b,2);
Результаты будут: купить (int, double)
Я хочу знать, как компилятор решает, какой метод выполнить?