[Android面試題-7] 寫出一個Java的Singleton類(即單例類)

1.首先明確單例的概念和特點:

 

a>單例類隻能有一個實例

 

b>單例類必須自己創建一個自己的唯一實例

 

c>單例類必須為其他所有對象提供這個實例

 

 

2.單例具有幾種模式,最簡單的兩種分別是“懶漢式”和“餓漢式”:

 

懶漢式:不會主動創建自己的實例,等待第一次被調用時創建

 

餓漢式:主動創建自己的實例。

 

 

3.兩個模式的例子:

 

懶漢式:

 

 

 

public class Singleton {  
    private static Singleton uniqueInstance = null;  
   
    private Singleton() {  
       // Exists only to defeat instantiation.  
    }  
   
    public static Singleton getInstance() {  
       if (uniqueInstance == null) {  
           uniqueInstance = new Singleton();  
       }  
       return uniqueInstance;  
    }  
    // Other methods...  
}  

 

 

餓漢式:

 

class Singleton {  
  private static Singleton instance=new Singleton();  
  private Singleton(){}  
  static Singleton getInstance() {  
      return instance;  
  }  
}  

 

 

發佈留言