Java面向物件——super關鍵字
阿新 • • 發佈:2020-08-20
有一種情況:
子類中重寫了父類中的方法或屬性,但是在子類中還需要呼叫原父類中被重寫的方法或屬性,此時可以使用super關鍵字
- super可以理解為:父類的
- super可以用來呼叫:屬性、方法、構造器
1.super的使用:
// 對父類的方法進行改寫 public void eat() { super.eat(); //使用super呼叫父類的方法 System.out.println("學生應該多吃有營養的食物"); }
主要用於父類和子類中方法和屬性同名的情況,平時可以省略super.或this.這樣的結構
2.super呼叫構造器:
使用方法:“super(形參列表)”
注意:
- 必須宣告在子類構造器的首行
- 對於this(形參列表)或super(形參列表),只能二選一,不能同時出現
- 預設呼叫的是父類中空參的構造器super()
- 在類的多個構造器中,至少有一個類的構造器中使用了“super(形參列表)”,呼叫父類的構造器(因為需要一個super才能使子類中)
父類的構造器:
public Person(String name,int age) { this.name=name; this.age=age; }
子類中呼叫構造器:
public Student(String name,intage,String major) { super(name,age); this.major=major; }