什么是Java中的虚拟方法调用?
我已经在某些计算机科学测试中看到了下一段,希望我能在这里对它的含义有一个很好的解释,因为我用它搜索了一个小时,却找不到任何东西。
“当我们说Java语言具有 ,是指在Java应用程序中,执行的方法由运行时的对象类型决定”
这是什么意思?谁能更好地解释它?
回答:
这些行的作者使用的C ++术语virtual
。
更好的术语是动态绑定/动态调度。
这意味着,对象的动态类型是“选择”将要调用的方法,而不是静态类型。
例如:[伪代码]:
class A { public void foo() { }
}
class B extends A {
public void foo() { }
}
调用时:
A obj = new B();obj.foo();
B.foo()
将被调用,而不是NOT A.foo()
,因为动态类型obj
为B
。
以上是 什么是Java中的虚拟方法调用? 的全部内容, 来源链接: utcz.com/qa/424403.html