Java中的super關鍵字何時使用


    子類的構造函數中不是必須使用super,在構造函數中,如果第一行沒有寫super(),編譯器會自動插入.但是如果父類沒有不帶參數的構造函數,或這個函數被私有化了(用private修飾).此時你必須加入對父類的實例化構造.而this就沒有這個要求,因為它本身就進行實例化的構造.

     如果父類的構造函數是無參的,那子類構造函數會在第一行默認調用super().

     下面這種情況是必須調用super()的:

 1 public class Father {
 2      public String name;
 3      public Father(String name) {
 4             this.name = name;
 5     }
 6 }
 7 
 8 class Son extends Father{
 9       public Son(String name) {
10             super(name);
11 }
12 //必須調用,否則他會默認調用父類的無參構造函數,而父類的無參構造函數已經被有參的覆蓋,所以找不到

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM