java使用靜態(tài)關(guān)鍵字實現(xiàn)單例模式
本文為大家分享了使用靜態(tài)關(guān)鍵字實現(xiàn)單例模式的具體代碼,供大家參考,具體內(nèi)容如下
單例模式:只能獲得某個類的唯一一個實例
單例模式,不管什么時間點得到的對象都是同一個對象
看下面代碼:
/**
* 單例模式
* @author xiongda
* @date 2018年4月15日
*/
public class SingletonMode {
private static SingletonMode single =null;
public int number = 1;
//將構(gòu)造方法定義為私有
private SingletonMode(){
single=this;
}
public static SingletonMode getInstance(){
if(single==null){
single=new SingletonMode();
}
return single;
}
}
將構(gòu)造方法私有,以便實現(xiàn)外部無法使用new進(jìn)行實例化的效果,達(dá)到任何時候其實都是同一個對象的效果
測試代碼如下:
public class Testit {
public static void main(String[] args) {
// TODO Auto-generated method stub
SingletonMode single =SingletonMode.getInstance();
System.out.println("single的number值:"+single.number);
SingletonMode single2 =SingletonMode.getInstance();
single2.number=100;
SingletonMode single3 =SingletonMode.getInstance();
System.out.println("single3的number值:"+single3.number);
System.out.println(single2==single3);
}
}
結(jié)果如下:

該結(jié)果表明:single、single2、single3這些引用指向的都是同一個對象
單例模式的應(yīng)用:比如游戲窗口,通過單例模式來控制不能多開
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決使用@Value(${×××))從properties文件取值的坑
這篇文章主要介紹了解決使用@Value(${×××))從properties文件取值的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
RocketMQ4.5.X 實現(xiàn)修改生產(chǎn)者消費者日志保存路徑
這篇文章主要介紹了RocketMQ4.5.X 實現(xiàn)修改生產(chǎn)者消費者日志保存路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
JavaEE中struts2實現(xiàn)文件上傳下載功能實例解析
這篇文章主要為大家詳細(xì)介紹了JavaEE中struts2實現(xiàn)文件上傳下載功能實例,感興趣的小伙伴們可以參考一下2016-05-05
Java String 和StringBuffer的詳解及區(qū)別
這篇文章主要介紹了Java String 和StringBuffer的詳解及區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05

