單例類的總結

bzt820801發表於2017-08-20

/**
* 單例類的兩種方法。
* 1.餓漢式
* 當類一載入就開始建立物件
* 2.懶漢式
* 當需要使用到類的物件是呼叫類的類方法才開始建立物件,想比較上面而言是
* 懶漢式。
* 注意,單例類的特點:
* 1.必須要將建構函式私有化,這樣才能防止別的類通過構造方法來建立物件,但是也是因為如此,所以
* 單例類的成員變數和成員函式都必須要用static修飾,因此要想呼叫單例類的函式,只能通過類名.類方法的方式來進行
* 呼叫。
* 2.必須要在類內建立一個本類的物件。
* 3.向外提供一個公共的類 方法,使得別的類可以呼叫這個函式來獲得物件。
* 最後用==來判斷是否是產生了一個物件。
* @author 李明明
*
*/
public class SingletonTest {

public static void main(String[] args) {
singleton s1 = singleton.getSingleton();
singleton s2 = singleton.getSingleton();
singleton2 x1 = singleton2.getSingleton();
singleton2 x2 = singleton2.getSingleton();
System.out.println(s1==s2);
System.out.println(x1==x2);

}

}
//餓漢式單例模式。
class singleton
{
singleton(){

}
private static singleton s = new singleton();
public static singleton getSingleton(){
return s;
}


}
class singleton2
{
singleton2(){

}
private static singleton2 s = null;
public static singleton2 getSingleton(){
if(s==null)
{
s= new singleton2();
}else{
return s;
}
return s;

}


}

相關文章