1. 程式人生 > >java中多型父類的成員變數和方法呼叫問題

java中多型父類的成員變數和方法呼叫問題

    class Super {
    String name = "父類名字";
    public void setName(String name) {
        System.out.println(this.getClass());
        this.name = name;//賦值給父類的name,name 為欄位指向當前類的欄位
    }
    public String getName() {
        return this.name;
    }
}
class Sub extends Super {
    String name = "子類的name";
}
public class ExtendsDemo {
    public static void main(String[] args) {
        Super s = new Sub();
        s.setName("張三");
        System.out.println(s.getName());
        System.out.println(s.name);//此時輸出父類的name
    }
}   

在繼承多型中:
1、對於方法的覆蓋(override),new的誰就調誰,這就是多型。
2、對於成員變數的隱藏(hidden),this在哪個類就指向哪個類的成員變數,沒有多型。