JAVA的單例模式(用java寫一個singleton的例子)。
程式碼如下:
package test;
public class SingleObject {
// 建立 SingleObject 的一個物件
private static SingleObject instance = new SingleObject();
// 讓建構函式為 private,這樣該類就不會被例項化
private SingleObject() {
}
// 獲取唯一可用的物件
public static SingleObject getInstance() {
return instance;
}
public void showMessage() {
System.out.println("Hello World!");
}
}
//
package test;
public class SingletonPatternDemo {
public static void main(String[] args) {
// 不合法的建構函式
// 編譯時錯誤:建構函式 SingleObject() 是不可見的
// SingleObject object = new SingleObject();
// 獲取唯一可用的物件
SingleObject object = SingleObject.getInstance();
SingleObject m = SingleObject.getInstance();
SingleObject n = SingleObject.getInstance();
// 顯示訊息
object.showMessage();
System.out.println(object);
System.out.println(m);
System.out.println(n);
}
}
或者:
package test;
public class MySingleton {
private MySingleton() {
}
private static MySingleton instance = new MySingleton();
public void tell() {
System.out.println("Hello world!");
}
public static MySingleton getInstance() {
return instance;
}
public static void main(String[] args) {
MySingleton m = MySingleton.getInstance();
m.tell();
MySingleton n = MySingleton.getInstance();
n.tell();
System.out.println(m);
System.out.println(n);
}
}