單實例模式
無聊,學習,學習,搞了個單實例模式
單一實例,就是在整個應該 訪問的,是這一個內存實例,對外不暴露構造函數,通過靜態函數取對象
/**
* @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("我們相等!!");
}
* @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;
}
單實例,還是蠻簡單,用的到的地方,還是蠻多
{
if(singletonPattern==null) //為空,實例化
singletonPattern=new SingletonPatternPerson();
return singletonPattern;
}
單實例,還是蠻簡單,用的到的地方,還是蠻多
本文由用戶 chyx413332087 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!