單子(Singleton)設計模式
單子(Singleton)設計模式:在整個應用中只有一個實例存在,創建的兩個實例都指向同一個對象。創建的步驟:
1.構造器要私有。
2.用一個私有的靜態變量引用實例。
3.用一個公有靜態方法獲得實例。
如:
/*? 一。為什么要實現單一模式,是因為我創建的兩個實例都指向同一個對象
??? 二。要實現單一模式需要進行下面三步:
???? 1.構造器私有
???? 2。用一個私有,靜態變量引用實例
???? 3。提供一個公有。靜態方法獲得實例
*/
public class SingletonPattern
{
?private int r;
?//用一個私有,靜態變量引用實例
?private static SingletonPattern sp;?
?? //構造器設為了私有
?private SingletonPattern()
?{
??r = (int)(10*(java.lang.Math.random()));
?}?
? //提供了一個公有,靜態方法獲得實例
?public static SingletonPattern getInstance()
?{
??if (sp==null)
??{
???sp = new SingletonPattern();
??}
??return sp;
?}????????
?public double getR()
?{
??return r;
?}
?
?public static void main(String args[])
?{
??SingletonPattern sp1 = SingletonPattern.getInstance();
??SingletonPattern sp2 = SingletonPattern.getInstance();
??System.out.println(sp1.getR());
??System.out.println(sp2.getR());
??
?}?
}