看板 AndroidDev 關於我們 聯絡資訊
因為是寫應用程式的關係,常常會用到時間和訂位的API, 所以Calendar之類的物件也用得很習慣 Calendar c = Calendar.getInstance(); ... 不過今天突然發現,這種呼叫靜態method獲取實體的方式, 不就是獨體模式(singleton)的作法嗎 可是Calendar又是可以直接被new出來的, (constructor非private) 所以實做上Calendar類別會有『實體們』出現, 好像又不太符合獨體模式的意義...除非這是變形版的作法 這是API文件,沒有查到關鍵字,constructor也不是private、 也沒有靜態欄位用來分配唯一的實體 http://developer.android.com/reference/java/util/Calendar.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 110.50.146.63 ※ 編輯: codemonkey 來自: 110.50.146.63 (04/11 22:32)
yauhh:你做二個instance出來,改第一個的內容,如果第二個狀態也改變 04/11 22:45
yauhh:那就是singleton 04/11 22:45
關於constructor,文件的說明是 Constructs a Calendar instance using the default TimeZone and Locale. 請問這是說預設就會幫你建立一個獨體的實例嗎, 也就是說允許你new一個出來、但是會偷偷幫你getInstance() ?? ※ 編輯: codemonkey 來自: 110.50.146.63 (04/11 23:11) codemonkey:轉錄至看板 java 04/11 23:12
No:你有繼承Calendar嗎?不然我還滿好奇你怎麼直接new出來 04/11 23:35
No:另外,文件也說明了Constructs a new instance... 04/11 23:41
iincho:呃..有Soure code幹嘛猜....? 04/12 00:38
nvidia:樓上讚XDDD 04/12 03:32