我在閱讀有關私有構造函數的信息,並發現了一些我無法理解的觀點。它說,如果聲明爲private構造函數:正確使用私有構造函數
- 那類不能被明確地從另一個類
- 該類不能被繼承
- 如果在只包含靜態工具方法的類中使用實例化
我的第一個問題:點2
說這個類不能被繼承。那麼,如果你聲明一個私人類,那麼它仍然會滿足這個屬性。是否因爲如果一個類是私有的,它仍然可以被另一個類從外部顯式實例化?
我的第二個問題:我不明白要點3
。如果我有一個充滿靜態方法的助手類,我永遠不必實例化那個類來使用這些方法。那麼,那個你永遠不會實例化的構造函數的目的是什麼?
只有*只有私有構造函數並且沒有調用它們的私有成員的類將實際上是一個靜態類,但完全有可能擁有其實例僅通過工廠方法創建的類,並且可能有幾個類公共或受保護的構造函數,這些構造函數鏈接到一個通用的私有構造函數,該構造函數完成了所有公共構造的共同構造部分。 – supercat