单例设计模式

单例设计模式

  • 类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且只提供一个取得其对象实例的方法.
  • 该类的构造器为private
  • 类的外部只能调用该类的某个静态方法以返回类内部创建的对象
  • 静态方法只能访问类中的静态成员变量
  • 因此指向类内部产生的该类对象的变量也必须是静态的.
* 方法一:饿汉式(直接创建对象)
class Bank{
     //1. 私有化类的构造器
     private Bank(){}
    //2. 内部创建类的对象
     //4. 要求此对象也是静态的
     private static Bank instance = new Bank();
     //3. 提供public、static的方法返回类的对象
    public static Bank getInstance(){
         return instance ;
     }
}
* 方法二: 懒汉式(随调用创建对象)
class Bank{
    //1. 私有化类的构造器
    private Bank(){}
     //2. 声明当前类对象,但是没有初始化
    //4. 要求此对象也是静态的
    private Bank instance = null;
    //3. 提供public、static的方法返回类的对象
    public static Bank getInstance(){
         if(instance == null){
            instance = new Bank() ;
             return instance ;
         }
     }
}
饿汉式懒汉式
好处线程安全延迟对象的创建
坏处对象加载时间过长(目前的写法)<br/>线程不安全
* 常见应用场景
  • 网站计数器
  • 应用程序的日志应用
  • 数据库连接池
  • 项目中读取配置文件的类
  • Application
  • Windows中的任务管理器
  • Windows中的回收站
阅读 118

推荐阅读