Статический Vs. Динамическое связывание в Java
В настоящее время я делаю задание для одного из моих классов, и в нем я должен привести примеры, используя синтаксис Java,статический а такжединамическое связывание.
Я понимаю основную концепцию, что статическое связывание происходит во время компиляции, а динамическое связывание происходит во время выполнения, но я могуне могу понять, как они на самом деле работают.
Я нашел пример статического связывания онлайн, который дает этот пример:
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);
}
И что это напишетживотное ест " так какпризыв кcallEat
использует статическое связывание, но я'я не уверен, чтоЗачем это считается статической привязкой.
Пока ни один из источников, которые яМы видели, что смогли объяснить это так, чтобы я мог следовать.