Java單例模式實(shí)例簡(jiǎn)述
本文實(shí)例講述了Java的單例模式,是Java程序設(shè)計(jì)中非常重要的概念。分享給大家供大家參考。具體分析如下:
所謂單子模式就是在整個(gè)應(yīng)用過程中只向外界提供唯一的一份實(shí)例,也就是說(shuō)在應(yīng)用時(shí)只有一個(gè)實(shí)例,這樣也就不用反反復(fù)復(fù)的創(chuàng)建實(shí)例了。那么根據(jù)他的要求,看下面一個(gè)最簡(jiǎn)單的單例模式的代碼:
public class Singleton { private static Singleton single = new Singleton(); private Singleton(){ } public static Singleton getSingletonInstance(){ return single; } }
通過這段代碼,我們發(fā)現(xiàn)要想實(shí)現(xiàn)這個(gè)Singleton類的實(shí)例,就必須要通過構(gòu)造函數(shù),但是他的構(gòu)造函數(shù)是private的,所以無(wú)法在別的類中實(shí)現(xiàn)他的實(shí)例化,但是可以通過getSingletonInstance方法,能返回一個(gè)實(shí)例single,因?yàn)樗莗ublic的靜態(tài)函數(shù),可以被別的類調(diào)用。這就是一個(gè)簡(jiǎn)單單例模式。當(dāng)然也可以把構(gòu)造single的語(yǔ)句放在getSingletonInstance方法中去實(shí)現(xiàn)。
總結(jié)一下單例模式的特點(diǎn):
1. 構(gòu)造方法是private修飾的。
2. 有一個(gè)private的靜態(tài)應(yīng)用實(shí)例。
3. 有一個(gè)靜態(tài)的public的方法返回該類的實(shí)例。
其實(shí)這三個(gè)特點(diǎn)完全是由于單例模式的要求所決定的。
希望本文所述對(duì)大家Java程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
相關(guān)文章
MyBatis-Plus的物理刪除和邏輯刪除(使用場(chǎng)景)
數(shù)據(jù)庫(kù)中的數(shù)據(jù)刪除會(huì)分為兩種:物理刪除 和 邏輯刪除,接下來(lái)通過本文給大家介紹MyBatis-Plus的物理刪除和邏輯刪除使用場(chǎng)景分析,感興趣的朋友一起看看吧2021-09-09Spring-boot結(jié)合Shrio實(shí)現(xiàn)JWT的方法
這篇文章主要介紹了Spring-boot結(jié)合Shrio實(shí)現(xiàn)JWT的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-05-05springBoot 打war包 程序包c(diǎn)om.sun.istack.internal不存在的問題及解決方案
這篇文章主要介紹了springBoot 打war包 程序包c(diǎn)om.sun.istack.internal不存在的問題及解決方案,親測(cè)試過可以,需要的朋友可以參考下2018-07-07mybatis?返回Map類型key默認(rèn)為大寫問題
這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11javaweb Servlet開發(fā)總結(jié)(一)
Servlet是sun公司提供的一門用于開發(fā)動(dòng)態(tài)web資源的技術(shù)。這篇文章主要介紹了javaweb Servlet開發(fā)的第一篇,感興趣的小伙伴們可以參考一下2016-05-05