操作
我们将创建一个SingleObject类。SingleObject类的构造函数为private,并且其自身具有静态实例。SingleObject类提供了一个静态方法来将其静态实例传递给外界。SingletonPatternDemo,我们的演示类将使用SingleObject类来获取SingleObject对象。
第1步 - 创建一个Singleton类。 SingleObject.java
package com.jc2182.com;
public class SingleObject {
//创建SingleObject的对象
private static SingleObject instance = new SingleObject();
//将构造函数设为私有,这样该类就直接实例化
private SingleObject(){}
//用静态方法获取类实例
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
第2步 - 从单例类中获取唯一的对象。 SingletonPatternDemo.java
package com.jc2182.com;
public class SingletonPatternDemo {
public static void main(String[] args) {
//非法构造
//编译时 Error: The constructor SingleObject() is not visible
//SingleObject object = new SingleObject();
//获取唯一可用的对象
SingleObject object = SingleObject.getInstance();
//show the message
object.showMessage();
}
}
步骤3 - 验证输出。