Сегодня я учился на вступительный экзамен Java, и я столкнулся с этим вопросом:
Пусть
A
- класс, определяемый следующим образом:class A { public void f(Double x) { System.out.println("A.f(Double)"); } public void f(double... x) { System.out.println("A.f(double...)"); } }
Каков результат, полученный командой
A a = new A(); a.f(1.0);
?
Ответ кажется A.f(Double)
, но я не могу понять, почему. Может ли кто-нибудь дать мне правильное объяснение?