class a{
void display(){
System.out.println("display1");
}
}
class b extends a{
void display(){
System.out.println("display1b");
}
}
class c extends b{
void display(){
System.out.println("display1c");
}
}
class ab {
public static void main(String args[]){
a mn=new c();
mn.display();
}
}
它是后期绑定的示例,但是当我编译此代码然后使用cavaj进行反编译时 我发现这个代码是ab.java:
class ab {
ab(){}
public static void main(String args[]){
c c1 = new c();
c1.display();
}
}
如果它是后期绑定,那么编译器必须知道display()方法来自c类,
但这里知道因为它取代了
a mn = new c();
与
c c1 = new c();
,所以这是早期绑定??