/ / Защо претоварването не се осъществява по време на изпълнение? - java, време на изпълнение, претоварване

Защо претоварването не се изпълнява по време на изпълнение? - java, време за изпълнение, претоварване

Защо претоварването по принцип не се осъществява по време на изпълнение?
Какви са трудностите / последиците при разрешаването на език да избира претоварени реализации по време на изпълнение въз основа на действителния (недеклариран) тип параметър?

Отговори:

0 за отговор № 1

Претоварването трябва да бъде разрешено по време на компилиране, тъй като може да е нееднозначно да се разреши изпращането на метода по време на изпълнение.

Представете си следния фрагмент (валидна и компилируема 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 реализира и двата интерфейса.