109068745599023161.jpg
//做單例開(kāi)發(fā)
/** 單例設(shè)計(jì)模式:解決一個(gè)類(lèi)在內(nèi)存中只存在一個(gè)對(duì)象
想要保證對(duì)象唯一。
1.為了避免其他程序過(guò)多建立給類(lèi)對(duì)象独郎,先禁止其他程序建立該類(lèi)對(duì)象
2.在本類(lèi)中自定義一個(gè)對(duì)象
3.可以對(duì)外提供訪問(wèn)方式
體現(xiàn):
1.將構(gòu)造函數(shù)私有化
2.在類(lèi)中建立一個(gè)本類(lèi)對(duì)象
3.提供一個(gè)方法可以獲取該對(duì)象
*/
class Test {
//餓韓式
private int num;
public void setNum(int num){
this.num=num;
}
public int getNum(){
return num;
}
private static Test t=new Test();
private Test(){
//private static Test t=new Test();錯(cuò)誤
}
public static Test getTest(){
//方法調(diào)用,要么類(lèi)名棱貌;要么對(duì)象忘闻;
//此刻已經(jīng)沒(méi)有對(duì)象
return t;
}
}
/*懶漢式
class Test {
private static Test t=null;
private Test{
}
public static Test getTest(){
if(t==null){
t=new Test();
}
return t;
}
}
*/
public class TestForth{
public static void main(String[] args){
Test t1=Test.getTest();
Test t2=Test.getTest();//靜態(tài)通過(guò)類(lèi)名調(diào)用
t1.setNum(23);
System.out.println(t2.getNum());
//**out: 23
//無(wú)private
/* Test t1=new Test();
Test t2=new Test();
t1.setNum(30);
System.out.println("t2.getNum()");
**out: 0
*/
}
}
*** 清醒小刻 ***
**** 沒(méi)錯(cuò)蝶念,我就是在瞎鬧 ****