我已经阅读了很多博客、教程和合作,但我对 java 中的动态绑定一无所知。当我创建名为“myspecialcar”的对象时,它会从“car”类创建一个对象作为类车辆的类型作为动态绑定对吗?所以 java 知道当我执行myspecialcar.getType()方法时,我有一个汽车对象,它执行汽车类的方法。但是为什么我从类车上得到了类型?那是因为类车辆(类型)中的变量是静态绑定吗?
问候,
代码:
public class vehicle {
String type = "vehicle";
public String getType(){
return type;
}
}
public class car extends vehicle {
String type = "car";
public String getType(){
return type;
}
}
public class test {
public static void main (String[] args){
vehicle myvehicle = new vehicle(); // static binding
car mycar = new car(); // static binding
vehicle myspecialcar = new car(); //dynamic binding
System.out.println(myspecialcar.getType());
System.out.println(myspecialcar.type);
System.out.println(myspecialcar.getClass());
}
}
输出:
car
vehicle
class car