java中多型父類的成員變數和方法呼叫問題
阿新 • • 發佈:2018-12-26
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在哪個類就指向哪個類的成員變數,沒有多型。