2016-08-23 60 views
-3

在Java中,當構造函數重載時,默認構造函數不會自動包含。編譯時默認構造函數不是必需的,但我已經讀過,包含一個默認構造函數以及重載的構造函數是一個好習慣。對於包含重載構造函數的類,包含一個默認構造函數良好實踐。

這是常見的專業做法還是少數程序員的選擇?

+3

爲了能夠回答這個問題,如果你告訴我們你想知道什麼*語言,這將是一個好主意。請修改您的問題以包含正確的語言標記。或者,如果無關緊要,可以添加標籤'language-agnostic'(儘管這會使問題變得廣泛並且將其關閉)。 –

+0

謝謝,我已經格式化了這個問題。 –

回答

0

只有當你自己沒有定義任何構造函數時,纔會自動創建一個默認(無參數)構造函數。

如果您需要兩個構造函數,一個帶有參數,另一個不帶,則需要手動定義兩者。

+0

這是真的,但我很好奇爲什麼要添加一個默認值,即使你不使用它作爲開發人員的良好做法。 –

0

這真的取決於;雖然DTO總是有一個默認構造函數(以便它們遵守JavaBeans約定),但是如果構造函數參數是強制性依賴項(認爲是服務bean中的數據訪問組件),那麼它應該存在於每個構造函數中,默認的構造函數是不好的選擇。

相關問題