兩種單例模式的對比:
餓漢式:(真實開發的時候一般採用懶漢式)
1.class Single {//類一載入,物件就已經存在
private static Single s= new Single();
private =Single(){}
public stataic Single getInstance()
{
return s;
}
}
懶漢式(面試時一般會出這方式)
class Single2
{//類載入進來,沒有物件,只有呼叫了getInstance方法
時才會建立物件
//延遲載入形式
pribvate static Single2 s= null;
private Single2(){}
public static Single2 getInstance(){
if(s==null)
s= new Single2();
return s;
}
}
單例模式三部曲:
1.通過new在本類中建立一個本類物件
2.私有化該類建構函式
3.定義一個公有的方法,將建立的物件返回
class ArrayToolDemo
{
public static void main(String args[]){
//Test t1=new Test();
//Test t2= new Test();
//採用單例模式式不同的呼叫方式:上面和下邊
Test t1 = Test.getInstance();
Test t2 = Test.getInstance();
t1.setNum(10);
t2.setNum(20);
System.out.println(t1.getNum());
System.out.println(t2.getNum());
}
}
class Test{
private int num;
private static Test t = new Test();//通過new在本類中建立一個本類物件
private Test(){}//私有化該類建構函式
public static Test getInstance(){//.定義一個公有的方法,將建立的物件返回
return t;
}
public void setNum(int num){
this.num = num;
}
public int getNum(){
return num;
}
}
JAVA日記 (共50篇) 上一篇:單例設計模式 下一篇:包的建立和匯入