【設計模式】【單例模式】
/**
* Description:
* <br/>網站: <a href="https://www.crazyit.org">瘋狂Java聯盟</a>
* <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
class Singleton
{
//使用一個變量來緩存曾經創建的實例
private static Singleton instance;
//將構造器使用private修飾,隱藏該構造器
private Singleton(){}
//提供一個靜態方法,用於返回Singleton實例
//該方法可以加入自定義的控製,保證隻產生一個Singleton對象
public static Singleton getInstance()
{
//如果instance為null,表明還不曾創建Singleton對象
//如果instance不為null,則表明已經創建了Singleton對象,將不會執行該方法
if (instance == null)
{
//創建一個Singleton對象,並將其緩存起來
instance = new Singleton();
}
return instance;
}
}
public class SingletonTest
{
public static void main(String[] args)
{
//創建Singleton對象不能通過構造器,隻能通過getInstance方法
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
//將輸出true
System.out.println(s1 == s2);
}
}
最後更新:2017-04-04 07:03:38