[英]When must an explicit call to super constructor be used?
我正在學習super()
構造函數,我遇到了這個語句:
由於繼承的實例變量應該被初始化,並且基礎 class 構造函數就是為此而設計的,因此應該始終使用對
super()
的顯式調用。
這個聲明是什么意思?
除了如果基礎 class 沒有定義無參數構造函數,隱式調用會導致錯誤這一事實?
您引用的這句話並沒有明確說明您需要在 class 中有 0 參數構造函數。 這句話的重點是所有屬於父 class 的變量都應該被初始化,並且你用構造函數初始化這些變量,因此你應該在你的子 class 構造函數中調用父 class 構造函數。 父 class 構造函數的 arguments 的數量是多少無關緊要。
我認為引用的段落有點誤導,因為如果您對未參數化的隱式 super() 調用不滿意,您只需要顯式調用參數化 super()。
如果基礎 class 僅具有參數化構造函數,您還必須進行參數化 super() 調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.