Re: [問題]請問這樣的 Java Class 算不算是一個 Si …
※ 引述《qrtt1.bbs@bbs.sayya.org (foolish)》之銘言:
: 實作 Singleton Pattern 簡單的說就是
: 控管 constructor 讓外界無法由 new 的方式產生任意個物件
: public final class SingletonEx {
: static SingletonEx self = new SingletonEx();
: private SingletonEx() {
: }
: public static SingletonEx getInstance(){
: return self;
: }
: public static void main(String[] args) {
: // reference 都應該要是一樣的
: assert(SingletonEx.getInstance() == SingletonEx.getInstance());
: }
: }
我想singleton不能這麼做.
不贊成的理由是: 若你說一個final class是個singleton,
不過它的methods只要是開放的,就是對其他任何object與class都開放,
這對java程式來說,失去了很重要的基本要項--來自繼承的保護.
Singleton class應該是一個可實體化的class,
它保證一次只有一個實體存在.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.225.226
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 6 之 16 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章