Runtime Polymorphism в Java достигается через переопределение методов, а не через переменные. Это позволяет программе вызвать нужный метод на основе типа объекта во время выполнения, а не во время компиляции.
Переменные в Java разрешаются во время компиляции на основе типа ссылки, а не типа объекта. Это означает:
Runtime Polymorphism достигается через переопределение методов на уровнях наследования:
dynamic dispatch или late bindingParent reference = new Child();
reference.method(); // Вызывает метод Child во время выполнения
Несмотря на то, что тип ссылки — Parent, вызванный метод принадлежит Child, потому что это фактический тип объекта.
Переменные не могут обеспечить Runtime Polymorphism, потому что они связываются во время компиляции. Только переопределение методов обеспечивает настоящее полиморфное поведение во время выполнения в Java. Чтобы правильно реализовать Runtime Polymorphism, нужно переопределять методы в дочерних классах, а не полагаться на переменные.
Данные члены в Java разрешаются во время компиляции на основе типа ссылки, что предотвращает их участие в полиморфизме времени выполнения.
Новый — ещё не проверен сообществом
Вы