單例類(Singleton)一個類始終只能建立一個例項
單例類(Singleton)一個類始終只能建立一個例項
構造器使用private修飾、;提供一個public方法作為該類的訪問點,該方法必須使用static修飾來作為類成員;使用一個成員變數快取已經建立的物件,該成員變數要被靜態方法呼叫,所以也應該用static修飾。
class Singleton
{
//使用一個變數來快取曾經建立的例項
private static Singleton instance;
//對構造器使用private修飾,隱藏構造器
private Singleton()
{
}
//提供一個靜態方法,用於返回Singleton
public static Singleton getInstance()
{
//如果instance為null,則表明還不曾建立Singleton物件
//如果instance不為null,則表明已經建立S了ingleton物件,將不會重新建立新的例項
if(instance==null)
{
instance=new Singleton();
}
return instance;
}
}
public class SingletonTest
{
public static void main(String[] args)
{
//建立Singleton物件不能通過構造器,只能通過getInstance方法來得到例項
Singleton s1=Singleton.getInstance();
Singletons2=Singleton.getInstance();
System.out.println(s1==s2);//將輸出true
}
}