Java单例模式
单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。
这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。
实现实例
我们将创建一个单一对象类 –SingleObject
。单个对象(SingleObject
)类的构造函数是私有的,并且具有自身的静态实例。
SingleObject
类提供了一个静态方法来获取其静态实例到外部世界。SingletonPatternDemo
或示例类将使用SingleObject
类来获取SingleObject
对象。
第1步 创建一个Singleton类
SingleObject.java
public class SingletonObject {
// Create an object of SingleObject
private static SingletonObject instance = new SingletonObject();
// Make the constructor private so that this class cannot be instantiated
private SingletonObject() {
};
// Get the only object available
public static SingletonObject getInstance() {
return instance;
}
public void showMessage() {
System.out.println("Hello World!");
}
}
第2步 从单例类中获取唯一的对象
SingletonPatternDemo.java
public class SingletonPatternDemo {
public static void main(String[] args) {
// Illegal construct
// Compile Time Error: The constructor SingleObject() is not visible
// SingleObject object = new SingleObject();
// Get the only object available
SingletonObject object = SingletonObject.getInstance();
// show the message
object.showMessage();
}
}
第3步 验证输出
得到的结果如下
Hello World!