Java中的虚拟方法调用是什么?
我在一些计算机科学测试中看到了下一段,我希望我能在这里得到一个很好的解释,因为它意味着什么,因为我用谷歌搜索了一个小时,找不到任何东西。
“当我们说Java语言具有虚拟方法调用时,我们的意思是在java应用程序中,执行的方法由运行时中的对象类型确定”
这是什么意思?谁能更好地解释它?
我在一些计算机科学测试中看到了下一段,我希望我能在这里得到一个很好的解释,因为它意味着什么,因为我用谷歌搜索了一个小时,找不到任何东西。
“当我们说Java语言具有虚拟方法调用时,我们的意思是在java应用程序中,执行的方法由运行时中的对象类型确定”
这是什么意思?谁能更好地解释它?
我们的意思是,在java应用程序中,执行的方法由运行时中的对象类型决定。
interface Animal{
public void eat();
}
class Person implements Animal{
public void eat(){ System.out.println("Eating Food");}
}
class Eagle implements Animal{
public void eat(){ System.out.println("Eating Snake");}
}
主要
Animal animal = new Person();
animal.eat(); //it will print eating food
animal = new Eagle();
animal.eat(); //it will print eating snake