1. 程式人生 > >JAVA的單例模式(用java寫一個singleton的例子)。

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);
}
}