1. 程式人生 > 實用技巧 >Java面向物件——super關鍵字

Java面向物件——super關鍵字

有一種情況:

  子類中重寫了父類中的方法或屬性,但是在子類中還需要呼叫原父類中被重寫的方法或屬性,此時可以使用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,int
age,String major) { super(name,age); this.major=major; }