單實例模式

chyx413332087 13年前發布 | 921 次閱讀
  無聊,學習,學習,搞了個單實例模式
 
單一實例,就是在整個應該 訪問的,是這一個內存實例,對外不暴露構造函數,通過靜態函數取對象
 /**
 * @author Administrator
 *
 */
public class SingletonPatternPerson {
   
 private static SingletonPatternPerson  singletonPattern=null;
 
 /**定義private  為的時不讓外界 實例化,只能自己實例化,不能怎么單一呢
  *
  */
 private  SingletonPatternPerson()
 {
  
 }
 
 /**
  *   獲取單一實列
  * @return
  */
 public static SingletonPatternPerson getInstance()
 {
   if(singletonPattern==null)  //為空,實例化
    singletonPattern=new SingletonPatternPerson();
  return singletonPattern;
 } 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
           
  SingletonPatternPerson  sing=SingletonPatternPerson.getInstance();
  
       
 SingletonPatternPerson  singO=SingletonPatternPerson.getInstance();
 
 if(sing==singO)
   System.out.println("我們相等!!");
   
 }
}
//上面代碼嚴格來說,有點問題,下面對于多線程,啟動的時候,有可能同時訪問這個方法,因此會出現兩個,解決很容易哦,在private static SingletonPatternPerson  singletonPattern=new  SingletonPatternPerson ();就初史化
public static SingletonPatternPerson getInstance()
 {
   if(singletonPattern==null)  //為空,實例化
    singletonPattern=new SingletonPatternPerson();
  return singletonPattern;
 } 
單實例,還是蠻簡單,用的到的地方,還是蠻多
 本文由用戶 chyx413332087 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!