设计模式

单例模式

 

开发中有很多类的对象我们只需要一个,例如虚拟机对象、任务管理器对象,对以上对象使用单例模式可以节约内存,提高性能

 

饿汉单例——通过类获取单例对象时,对象已经提前做好

懒汉单例—— 通过类获取单例对象的时候发现没有对象才会去创建一个对象

public class SingleInstanceDemo01 {
  public static void main(String[] args) {
        SingleInstance s1 = SingleInstance.getInstance();
        SingleInstance s2 = SingleInstance.getInstance();
        System.out.println(s1 == s2); // true
  }    
}    

// 饿汉单例设计一个单例模式的类
class SingleInstance01() {
  // 2. 定义一个静态成员变量用于存储一个对象(饿汉模式在返回对象时,对象要已经做好),  
  public static SingleInstance01 ins = new SingleInstance01();
  // 1. 把类的构造器私有,构造器只能在本类中访问!!
  private SingleInstance01() {
  }      
  // 3. 提供一个方法返回单例对象
  public static SingleInstance01 getInstance() {
        return ins;
  }      
}

// 懒汉单例设计一个单例模式的类
class SingleInstance02() {
    // 2. 定义一个静态成员变量用于存储一个对象(懒汉模式不能直接创建对象,必须需要的时候才创建)
    public static SingleInstance02 ins;
    
    // 1. 构造器私有
    private SingleInstance02() {
    }

    // 3. 通过方法返回一个对象,第一次不存在对象才创建一个返回
    public static SingleInstance02 getInstance() {
        if ( ins == null) {
            // 第一次取对象,创建一个对象
            ins = new SingleInstance02();
        }
        return ins;
    }
}
上一篇:HTML5手机网站开发页面宽度解决方案


下一篇:Android Studio使用中的小常识