課程
/后端開發
/Java
/模式的秘密---單例模式
Singleton這個類不是靜態屬性instance加載之后才實例化么,可是instance又是Singleton實例化之后才加載的,那到底是哪個在先哪個在后啊
2016-01-06
源自:模式的秘密---單例模式 2-1
正在回答
//這句話在Singleton類加載的時候就執行了,內存空間中已經有一份instance了。 private?static?Singleton?instance?=?new?Singleton();? //提供方法獲取instance。因為前面是private修飾的,所以不能直接訪問,只能提供一個方法訪問。 public?static??Singleton?getInstance(){ ????return?instance; }
所以并沒有沖突。你問題中的兩個instance,第一是在類加載的時候就存在了,不管你用不用他。第二個是你需要用instance了,所以調用了getInstance方法。
某某貓 提問者
先加載類,后實例化對象
不清楚你說的,但是我知道在C#里面應該是static變量時在在對象初始化之前就已經完成了
舉報
單例模式是在Java中最重要模式之一,讓我們揭開單例模式神秘面紗
4 回答單例模式為什么不直接訪問那個靜態對象
2 回答在一個類中定義本身的實例對象時為什么要加static?
1 回答關于單例模式中單例對象是否能被用戶修改
1 回答老師,那靜態內部類和枚舉的單例,是不是在Java中要經常用到?
1 回答請問單例模式和一個全是靜態成員變量的類相比較有什么優缺點?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-06
所以并沒有沖突。你問題中的兩個instance,第一是在類加載的時候就存在了,不管你用不用他。第二個是你需要用instance了,所以調用了getInstance方法。
2016-11-03
先加載類,后實例化對象
2016-01-06
不清楚你說的,但是我知道在C#里面應該是static變量時在在對象初始化之前就已經完成了