Java学习:单例设计模式

单例设计模式
A:单例设计思想
保证类在内存中只有一个对象
B:如何实现类在内存中只有一个对象呢?
  构造私有
  本身提供一个对象
  通过公共的方法让外界访问
C:案例演示:
单例设计模式中:

  饿汉式
  懒汉式

饿汉式:当这个类一被加载,就在内存中创建了一个对象

1.保证内存中只有一个对象(构造私有)

2.在本类中创建一个该类的对象

3.创建一个公共的访问方式给外界获取该对象

 1 public class SingleInstanceDemo {
 2     private SingleInstanceDemo(){}
 3     
 4     //静态的随着类的加载而加载
 5     private static SingleInstanceDemo instance = new SingleInstanceDemo();
 6     
 7     //给外界提供公共的访问方式,返回该对象
 8     public static SingleInstanceDemo getInstance(){
 9         return instance;
10     }
11 
12 }

调用时代码:

1 public static void main(String[] args) {
2         SingleInstanceDemo instance = SingleInstanceDemo.getInstance();
3         SingleInstanceDemo instance2 = SingleInstanceDemo.getInstance();
4         System.out.println(instance==instance2);
5 }

懒汉式:需要的时候才去创建对象,不需要的时候不创建

 1 private SingleInstanceDemo2(){}
 2     
 3     private static SingleInstanceDemo2 instance = null;
 4     
 5     public static SingleInstanceDemo2 getInstance(){
 6         if (instance==null) {
 7             instance = new SingleInstanceDemo2();
 8         }
 9         return instance;
10     }

调用代码如下

1 public static void main(String[] args) {
2         SingleInstanceDemo2 instance = SingleInstanceDemo2.getInstance();
3         SingleInstanceDemo2 instance2 = SingleInstanceDemo2.getInstance();
4         System.out.println(instance==instance2);
5     }

原文地址:https://www.cnblogs.com/shaofanglazi/p/6842285.html