在多態(tài)中,子類對(duì)象向上提升為父類類型后,對(duì)于數(shù)據(jù)域和靜態(tài)的,編譯和運(yùn)行都是父類的,但是方法卻是編譯看父類有沒(méi)有,沒(méi)有就不通過(guò)編譯,運(yùn)行則是執(zhí)行子類的方法。為什么呢?
public class Test {
public static void main(String[] args) {
Parent p = new Child();
System.out.println(p.name + "\t" + p.address);
p.sayName();
}
}
class Parent {
public String name = "father";
public static String address = "JiangXi";
public void sayName() {
System.out.println(name + "\t" + address);
}
}
class Child extends Parent {
public String name = "son";
public static String address = "ZheJiang";
public void sayName() {
System.out.println(name + "\t" + address);
}
}
執(zhí)行結(jié)果為
father JiangXi
son ZheJiang