單例:
在整個程序運行的過程中有且只能有一個當前類對象
1. 私有化構(gòu)造方法
2. 提供給類外獲取類對象的方法,一個用static修飾的靜態(tài)方法 pubilc static 類對象
類型 方法名(形式參數(shù)和類內(nèi)的構(gòu)造方法一致)
3. 在類內(nèi)定義一個static修飾的靜態(tài)成員變量,用于保存之前創(chuàng)建過的類對象地址
4. 在提供的靜態(tài)方法中,進行判斷,如果之前并沒有這個對象,創(chuàng)建新對象方法,
并且保存地址如果有,直接返回之前保存的對象地址
5. 私有化保存對象地址的static成員變量
public class Single {
int num;
private static Single s = null;
private Single(int num) {
this.num = num;
}
public static Single getInstance(int num) {
if (null == s) {
s = new Single(num);
}
return s;
}
}