橘子味的心
标题:Java单例模式

单例(Singleton)模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。

这种模式涉及一个类,它负责创建一个对象,同时确保只创建一个对象。这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。

实现实例

我们将创建一个单一对象类 - SingleObject。单个对象(SingleObject)类的构造函数是私有的,并且具有自身的静态实例。

SingleObject类提供了一个静态方法来获取其静态实例到外部世界。SingletonPatternDemo或示例类将使用SingleObject类来获取SingleObject对象。

第1步

创建一个Singleton类,

SingleObject.java

  1. public class SingleObject {
  2.  
  3. //create an object of SingleObject
  4. private static SingleObject instance = new SingleObject();
  5.  
  6. //make the constructor private so that this class cannot be
  7. //instantiated
  8. private SingleObject(){}
  9.  
  10. //Get the only object available
  11. public static SingleObject getInstance(){
  12. return instance;
  13. }
  14.  
  15. public void showMessage(){
  16. System.out.println("Hello World!");
  17. }
  18. }
  19. Java

第2步

从单例类中获取唯一的对象。

SingletonPatternDemo.java

  1. public class SingletonPatternDemo {
  2. public static void main(String[] args) {
  3.  
  4. //illegal construct
  5. //Compile Time Error: The constructor SingleObject() is not visible
  6. //SingleObject object = new SingleObject();
  7.  
  8. //Get the only object available
  9. SingleObject object = SingleObject.getInstance();
  10.  
  11. //show the message
  12. object.showMessage();
  13. }
  14. }
  15. Java

第3步

验证输出,得到结果如下 -

  1. Hello World!
  2. Java