Java 中的静态绑定与动态绑定
2022-08-31 09:18:04
我目前正在为我的一个类做一个赋值,在其中,我必须使用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);
}
这将打印“动物正在吃”,因为调用调用Eat
使用静态绑定,但我不确定为什么这被认为是静态绑定。
到目前为止,我所见过的任何消息来源都没有设法以我可以遵循的方式解释这一点。