单例模式就是保证一个类只有一个实例,并提供一个访问它的全局访问点。首先,需要保证一个类只有一个实例;在类中,要构造一个实例,就必须调用类的构造函数,如此,为了防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为protected或private;最后,需要提供要给全局访问点,就需要在类中定义一个static函数,返回在类内部唯一构造的实例
饿汉模式
程序启动时就创建一个唯一的实例对象
1 | 优点:简单 |
懒汉模式
第一次使用实例对象时创建对象(延迟加载)
1 | class singleton |