java的super()


背景:

構造函數:

每個類都有一個默認無參的構造函數,初始化默認調用。

類如果自定義了構造函數,則默認的無參構造函數沒有了。如果需要無參的構造函數,必須手動添加。

 

super()

  • super(); 的作用是調用父類的無參默認構造函數。
  • 父類自定義了有參的構造函數,子類必須自定義構造函數,並且在構造函數的第一行調用父類的帶參的構造函數super();。 

  說明:若子類沒有自定義構造函數,那默認是無參構造函數,子類無參的構造函數默認調用父類的無參的構造函數。但是父類自定義了有參的構造函數,就沒有無參的構造函數了,所以這個編譯是失敗的。所以,子類必須自定義構造函數,並且在構造函數的第一行調用父類的帶參的構造函數super();。 

  • 如果父類只自定義了無參的構造函數,那么子類如果自定義了構造函數,不論有參每參,都默認調用父類無參的構造函數,這個時候,子類構造函數不用加super();

 


免責聲明!

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



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