学习笔记六十九:
单例模式:采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
单例模式饿汉式(因为需要使用的类一开始就创建好了,所以叫饿汉)
步骤:
1.将构造器等私有化(保证外界只能创建一个对象的前提)(防止直接new一个对象出来)
2.在类的内部直接创建一个对象(需要修饰为静态,以保证第三步可以调用该对象(static只能调用static的属性))
3.提供一个公共的static方法(常叫getInstance),返回类内部创建的对象
单例模式懒汉式(只有在使用时,才会创建对象,以免占用资源)
步骤:
1.将构造器私有化(防止外界new)
2.定义一个私有的静态对象(如:private static Cat cat; --->此时Cat类的对象cat指向null)
3.提供一个public的static方法(常叫getInstance),首先用if语句判断第二步是否为空,为空则会创建(new)一个对象(如cat = new Cat;),然后返回第二步创建的对象
饿汉式vs懒汉式:
1.饿汉式不存在线程风险,而懒汉式存在
2.懒汉式不会提前占用资源,而饿汉式会