java使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式
本文為大家分享了使用靜態(tài)關(guān)鍵字實(shí)現(xiàn)單例模式的具體代碼,供大家參考,具體內(nèi)容如下
單例模式:只能獲得某個(gè)類的唯一一個(gè)實(shí)例
單例模式,不管什么時(shí)間點(diǎn)得到的對(duì)象都是同一個(gè)對(duì)象
看下面代碼:
/** * 單例模式 * @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)造方法私有,以便實(shí)現(xiàn)外部無(wú)法使用new進(jìn)行實(shí)例化的效果,達(dá)到任何時(shí)候其實(shí)都是同一個(gè)對(duì)象的效果
測(cè)試代碼如下:
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這些引用指向的都是同一個(gè)對(duì)象
單例模式的應(yīng)用:比如游戲窗口,通過單例模式來控制不能多開
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決使用@Value(${×××))從properties文件取值的坑
這篇文章主要介紹了解決使用@Value(${×××))從properties文件取值的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07RocketMQ4.5.X 實(shí)現(xiàn)修改生產(chǎn)者消費(fèi)者日志保存路徑
這篇文章主要介紹了RocketMQ4.5.X 實(shí)現(xiàn)修改生產(chǎn)者消費(fèi)者日志保存路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07詳解Java編程的Observer觀察者設(shè)計(jì)模式
這篇文章主要介紹了Java編程的Observer觀察者設(shè)計(jì)模式,觀察者模式定義了一個(gè)一對(duì)多的依賴關(guān)系,讓一個(gè)或多個(gè)觀察者對(duì)象監(jiān)察一個(gè)主題對(duì)象,需要的朋友可以參考下2016-01-01JavaEE中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例解析
這篇文章主要為大家詳細(xì)介紹了JavaEE中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例,感興趣的小伙伴們可以參考一下2016-05-05Java實(shí)現(xiàn)鼠標(biāo)拖拽移動(dòng)界面組件
在Java中,F(xiàn)rame或者JFrame自身已經(jīng)實(shí)現(xiàn)了鼠標(biāo)拖拽標(biāo)題欄移動(dòng)窗口的功能。但是Jframe的樣式實(shí)在無(wú)法令人滿意,那你又該怎么實(shí)現(xiàn)鼠標(biāo)拖拽移動(dòng)窗口的目的呢?今天我們來探討下2014-09-09Java String 和StringBuffer的詳解及區(qū)別
這篇文章主要介紹了Java String 和StringBuffer的詳解及區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05