Statyczne Vs. Wiązanie dynamiczne w Javie

Obecnie wykonuję zadanie dla jednej z moich klas, aw niej muszę podać przykłady, używając składni Java,statyczny iwiązanie dynamiczne.

Rozumiem podstawową koncepcję, że statyczne wiązanie ma miejsce w czasie kompilacji, a dynamiczne wiązanie dzieje się w czasie wykonywania, ale nie mogę zrozumieć, jak one działają.

Znalazłem przykład wiązania statycznego online, który podaje ten przykład:

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);
}

I to by wydrukowało „zwierzę je”, ponieważwezwanie docallEat używa wiązania statycznego, ale nie jestem pewien co do tegoczemu jest to uważane za wiązanie statyczne.

Jak dotąd żadne ze źródeł, które widziałem, nie zdołało wyjaśnić tego w sposób, który mógłbym śledzić.

questionAnswers(7)

yourAnswerToTheQuestion