Почему перегрузка вообще не реализована во время выполнения?
Каковы трудности/последствия, позволяющие языку выбирать перегруженные реализации во время выполнения на основе фактического (не объявленного) типа параметра?Почему перегрузка не реализована во время выполнения?
0
A
ответ
0
Перегрузка должна быть разрешена во время компиляции, так как она может быть неоднозначной для разрешения отправки метода во время выполнения.
Представьте себе следующий фрагмент кода (действительный и компилируется программа Java):
public class Test {
public static void main(String[] args) {
Object object = new Clazz();
method(object);
}
static class Clazz implements Interface1, Interface2 {}
interface Interface1 {}
interface Interface2 {}
private static void method(Object o) {}
private static void method(Interface1 i) {}
private static void method(Interface2 i) {}
}
Если перегрузка действительно будет решена во время выполнения, он будет Неоднозначный какой метод вызвать в качестве Clazz
реализует оба интерфейса.
Смежные вопросы
- 1. Почему не может быть реализована перегрузка во время исключения?
- 2. Перегрузка метода с функцией во время выполнения
- 3. Как функция перегрузки работает во время выполнения и почему перегрузка?
- 4. Можно ли определить (во время выполнения), если функция была реализована?
- 5. с методом # находкой перегрузка от общего типа во время выполнения
- 6. Почему во время компиляции нельзя разрешить полиморфизм во время выполнения?
- 7. Почему Bootstrap не работает во время выполнения, когда моя страница загружается во время выполнения?
- 8. почему перегрузка не поддерживает полиморфизм
- 9. Почему это называется полиморфизмом во время выполнения?
- 10. java.lang.ClassCastException во время выполнения
- 11. Почему кадр UIImageView изменяется во время выполнения?
- 12. Почему аннотация @Nonnull проверяется во время выполнения?
- 13. Темы - почему исключение бросается во время выполнения?
- 14. Почему ClassCastException является ошибкой во время выполнения?
- 15. Почему A.class является нулевым во время выполнения?
- 16. Почему потоки C# простаивают во время выполнения?
- 17. Почему окно больше во время выполнения?
- 18. Почему listbox всегда редактируется во время выполнения?
- 19. Почему omnet ++ 4.6 останавливается во время выполнения?
- 20. Почему FileProvider.getUriForFile вызывает исключение во время выполнения
- 21. Почему я получаю ошибку во время выполнения
- 22. Почему Java требуется classpath во время выполнения
- 23. NullReferenceException во время выполнения .exe, но не во время отладки
- 24. Дженерики во время выполнения
- 25. Прерывание во время исполнения во время выполнения
- 26. Перегрузка поиска во время создания шаблона
- 27. Почему я получаю ошибку выполнения во время выполнения этого кода?
- 28. создание столбца во время выполнения во время выполнения sql-запроса
- 29. Нарезка во время выполнения
- 30. GridView во время выполнения
Возможно, в динамическом языке, которым Java не является. – Crazyjavahacking