Java面向對象_單例設計模式

單例設計模式:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點設計模式

1.構造方法私有化工具

2.聲明一個本類對象spa

3.給外部提供一個靜態方法獲取對象實例設計

兩種實現方式:餓漢式和懶漢式code

何種狀況下使用呢?當一個類中沒有屬性(對象的狀態);該類做爲工具類使用很是頻繁;對象

好處:節省內存(由於不斷建立對象會消耗內存)blog

 1 public class Practice14 {
 2     
 3     public static void main(String[] args) {
 4         // TODO Auto-generated method stub
 5         Single s=Single.getInstance();
 6         s.method();
 7 }    
 8 }
 9 //餓漢式
10 class Single{
11     private static Single single=new Single();
12     private Single(){ //構造方法私有化,爲了防止在本類外部實例化對象
13         
14     }
15     public static Single getInstance(){
16         return single;
17     }
18     public void method(){
19         System.out.println("method");
20     }
21 }
22 //懶漢式
23 class Single2{
24     private static Single2 single=null;
25     private Single2(){ //構造方法私有化
26         
27     }
28     public static Single2 getInstance(){
29         if(single==null){
30             single=new Single2();
31         }
32         return single;
33     }
34     public void method(){
35         System.out.println("method");
36     }
37 }
相關文章
相關標籤/搜索