Re: [問題] private constructor 和abstract

看板java作者時間12年前 (2013/05/21 09:12), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《markbrother (馬克兄弟)》之銘言: : 請教各位 : 如果今天我寫了一個class : 目的是提供裡面的static方法給人呼叫 不讓人建構此class的物件 : 那把這個class設成abstract(不過裡面沒有任何abstract的方法) : 和把建構子的存取權限設成private : 這兩個方法有何差別呢 純粹好奇 就我的觀點來看 你說的兩個方法就功能面上來說 , 都可以讓使用者無法建構該物件 所以功能面都是OK的.... 但是就意義層面上來說 1.把class物件宣告為abstract , 一般來說abstract物件會宣告abstract方法來讓繼承物件去使用 既然繼承物件要可以實作並呼叫abstract方法 => 該物件要能被建構出來 (因為static方法也不能被宣告為 abstract) 所以該方法是定義抽象方法去繼承實作,跟你想要的功能意義不同, 只是剛好抽象類別本身無法實體化 2.把建構子權限設定為 private 讓使用該物件的設計師瞭解該物件的建構子是不允許被呼叫的, 因此就意義上來看,2比較符合你想要的功能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.94.193

05/21 13:59, , 1F
我懂了 太感謝您了!
05/21 13:59, 1F

05/21 14:21, , 2F
順便加個 final 這樣 XD
05/21 14:21, 2F
文章代碼(AID): #1Hcie0Bi (java)
文章代碼(AID): #1Hcie0Bi (java)