后期绑定是?举个例子?谢谢 JAVA

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:57:49
例子请说明具体指向,我不懂?

举个例子:
class A {
public void methodA(){
//do anthing
}
}

public B extends A {
public void methodA() {
//do another thing
}
}

public Test {
public static void main(String[] arags){
A a = new B();
a.methodA();
}
}

a.methodA();上述例子中,由于a是类A的实例,所以对a调用methodA方法编译器只会查找A中是否定义有methodA方法,而并不关心改方法究竟调用的是什么。但是在运行期中,java的方法检查机制会根据a的类型,去调用正确的方法,比如,这里就是B 中重写的methodA方法。这种方法的绑定是发生在运行期间的,所以叫做后期绑定。