個人總結:主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
Singleton通過將構造方法限定爲private避免了類在外部被實例化,在同一個虛擬機範圍內,Singleton的唯一實例只能通過getInstance()方法訪問。
public class SingleInstance1 { private static SingleInstance1 instance = new SingleInstance1(); private SingleInstance1() { // TODO: implement } public static SingleInstance1 getInstance() { // TODO: implement return instance; } }
public class SingleInstance2 { private static SingleInstance2 instance = null; private SingleInstance2() { // TODO: implement } public synchronized static SingleInstance2 getInstance() { // TODO: implement if (instance==null) { instance=new SingleInstance2(); } return instance; } }