本文實例講述了Java的單例模式,是Java程序設(shè)計中非常重要的概念。分享給大家供大家參考。具體分析如下:
所謂單子模式就是在整個應(yīng)用過程中只向外界提供唯一的一份實例,也就是說在應(yīng)用時只有一個實例,這樣也就不用反反復(fù)復(fù)的創(chuàng)建實例了。那么根據(jù)他的要求,看下面一個最簡單的單例模式的代碼:
1
2
3
4
5
6
7
8
9
10
11
|
public class Singleton { private static Singleton single = new Singleton(); private Singleton(){ } public static Singleton getSingletonInstance(){ return single; } } |
通過這段代碼,我們發(fā)現(xiàn)要想實現(xiàn)這個Singleton類的實例,就必須要通過構(gòu)造函數(shù),但是他的構(gòu)造函數(shù)是private的,所以無法在別的類中實現(xiàn)他的實例化,但是可以通過getSingletonInstance方法,能返回一個實例single,因為他是public的靜態(tài)函數(shù),可以被別的類調(diào)用。這就是一個簡單單例模式。當(dāng)然也可以把構(gòu)造single的語句放在getSingletonInstance方法中去實現(xiàn)。
總結(jié)一下單例模式的特點(diǎn):
1. 構(gòu)造方法是private修飾的。
2. 有一個private的靜態(tài)應(yīng)用實例。
3. 有一個靜態(tài)的public的方法返回該類的實例。
其實這三個特點(diǎn)完全是由于單例模式的要求所決定的。
希望本文所述對大家Java程序設(shè)計的學(xué)習(xí)有所幫助。