Static Vs. Dynamische Bindung in Java

Ich mache gerade eine Aufgabe für eine meiner Klassen, und darin muss ich mit Java-Syntax Beispiele für gebenstatisch undDynamische Bindung.

Ich verstehe das Grundkonzept, dass die statische Bindung zur Kompilierungszeit und die dynamische Bindung zur Laufzeit erfolgt, aber ich kann nicht herausfinden, wie sie tatsächlich speziell funktionieren.

Ich habe ein Beispiel für statische Bindung online gefunden, das folgendes Beispiel enthält:

public static void callEat(Animal animal) {
    System.out.println("Animal is eating");
}

public static void callEat(Dog dog) {
    System.out.println("Dog is eating");
}

public static void main(String args[])
{
    Animal a = new Dog();
    callEat(a);
}

Und das würde heißen "Tier frisst" weilder anruf ancallEat Verwendet statische Bindung, aber ich bin mir nicht sicherWarum Dies wird als statische Bindung angesehen.

Bisher hat keine der Quellen, die ich gesehen habe, es geschafft, dies auf eine Weise zu erklären, die ich verfolgen kann.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage