什么是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(),因为动态类型objB

以上是 什么是Java中的虚拟方法调用? 的全部内容, 来源链接: utcz.com/qa/424403.html

回到顶部