一個單態類只可有一個實例。這樣的類常用來進行資源管理。
在Java語言中有兩種實現方式.
??? 1.餓漢式單態類?
?????????
???????? 懶漢式單態類在第一次引用時將自己實例化
????????
?
? 參考文獻 1,http://www.yesky.com/20011105/203407.shtml
???????????????????? 2.<<java設計模式>>
在Java語言中有兩種實現方式.
??? 1.餓漢式單態類?
?????????
1
public?class?EagerSingleton
{
2
????private?EagerSingleton()
{}
3
????public?static?EagerSingleton?getInstance()
{
4
????????return?instance;
5
????}
6
7
????private?static?final?EagerSingleton?instance=new?EagerSingleton();
8
}
????? 2.懶漢式單態類


2



3



4

5

6

7

8

???????? 懶漢式單態類在第一次引用時將自己實例化
????????
?1
public?class?LazySingleton
{
?2
????private?LazySingleton()
{}
?3
????public?static LazySingleton?getInstance()
{
?4
???????if(instance==null)
{
?5
???????????synchronized(LazySingleton.class)
{
?6
?????????????if(instance==null)
{
?7
??????????????????instance=new?LazySingleton();
?8
??????????????}
?9
???????????}
10
???????}
11
???????return?instance;
12
????}
13
????private?static?LazySingleton?instance=null;
14
?}
注意到以上兩種方法中,構造方法均為private故不能被繼承.


?2



?3



?4



?5



?6



?7

?8

?9

10

11

12

13

14

?
? 參考文獻 1,http://www.yesky.com/20011105/203407.shtml
???????????????????? 2.<<java設計模式>>