super 關(guān)鍵詞

2018-07-03 14:29 更新
  • 調(diào)用父類 (Superclass) 的成員或者方法
  • 調(diào)用父類的構(gòu)造函數(shù)

  1. 調(diào)用父類 (Superclass) 的成員或者方法 如果你的方法覆寫一個父類成員的方法, 你可以通過 super 關(guān)鍵字調(diào)用父類的方法. 考慮下面的父類:
    
    public class Superclass {

public void printMethod() { System.out.println("Printed in Superclass."); } }

下面是一個子類 (subclass), 叫做 Subclass, 覆寫了 printMethod():

public class Subclass extends Superclass {

// overrides printMethod in Superclass public void printMethod() { super.printMethod(); System.out.println("Printed in Subclass"); } public static void main(String[] args) { Subclass s = new Subclass(); s.printMethod(); } }

輸出

Printed in Superclass. Printed in Subclass

1. 調(diào)用父類的構(gòu)造函數(shù)


使用 **super** 關(guān)鍵字調(diào)用父類的構(gòu)造函數(shù). 下面的 MountainBike 類是 Bicycle 類的子類. 它調(diào)用了父類的構(gòu)造方法并加入了自己的初始化代碼:

public MountainBike(int startHeight, int startCadence, int startSpeed, int startGear) { super(startCadence, startSpeed, startGear); seatHeight = startHeight; }

調(diào)用父類的構(gòu)造體必須放在**第一行**.
使用

super();

或者:

super(parameter list);


通過 super(), 父類的無參構(gòu)造體會被調(diào)用. 通過 super(parameter list), 父類對應(yīng)參數(shù)的構(gòu)造體會被調(diào)用.


注意: 構(gòu)造體如果沒有顯式的調(diào)用父類的構(gòu)造體, Java 編譯器自動調(diào)用父類的無參構(gòu)造. 如果父類沒有無參構(gòu)造, 就會報錯 ( compile-time error).
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號