В Java, в чем разница между динамическим связыванием и переопределением метода?


Ответ 1:
class Animal {public void eat () {System.out.println ("Anything"); }} Класс Horse расширяет Animal {public void eat () {System.out.println ("Овощи"); }} class Test {public static void main (String args []) {Animal obj; obj = new Animal (); obj.eat (); obj = новая лошадь (); obj.eat (); }}
Что-нибудь овощи

Ответ 2:

Вы хотели спросить разницу между «динамическим связыванием» и «перегрузкой» метода?

Поскольку переопределение метода и «вызов виртуального метода» (динамическое связывание) являются двумя частями полиморфизма Java, и они «немного отличаются» от перегрузки метода: то же имя метода, но другая сигнатура.


Ответ 3:

Вы хотели спросить разницу между «динамическим связыванием» и «перегрузкой» метода?

Поскольку переопределение метода и «вызов виртуального метода» (динамическое связывание) являются двумя частями полиморфизма Java, и они «немного отличаются» от перегрузки метода: то же имя метода, но другая сигнатура.