亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

3 回答

直接寫靜態,會打亂系統的封裝性,可以寫成靜態,但是這樣不規范。JAVA語言是面向對象語言,所以,應當適應以面向對象思想解決問題,如果寫成了單例模式不僅有高大上的感覺,還能很好的解決多線程導致的建造不同對象

保證了對象的唯一性

0 回復 有任何疑惑可以回復我~

和寫成靜態有什么區別

0 回復 有任何疑惑可以回復我~

單例模式

就是全局只能有一個對象實例

比如

public?class?Singleton{
private?static?Singleton?singleton?=?null;
private?Singleton(){}
public?static?Singleton?getInstance(){
if(singleton?==?null){
singleton?=?new?Singleton();
}
return?singleton;
}
}

你可以看到,Singleton類的構造函數是私有的,所以你無法在外面new出Singleton對象。只能通過靜態方法getInstance獲得。這個靜態方法會返回內部私有的Singleton對象的實例,并且會檢查當前這個實例是否已經創建,創建了就直接返回,沒有創建就創建一個返回。這就保證了,Singleton類的對象實例只能有一個。


當然這是最簡單的寫法,在多線程的情況下是不能正常運行的,需要Synchronized同步

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android-仿微信語音聊天
  • 參與學習       43189    人
  • 解答問題       248    個

結合自定義View和API,Dialog管理等實現實現微信語音

進入課程

什么是單例?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號