java9 OOP 单例设计模式 2022-02-05

/**
 单例设计模式
 1.构造方法私有化
 2.声明一个本类对象
 3.给外部提供一个静态方法获取对象实例

 1.懒汉式:在第一次调用getInstance方法时,对象被创建,到程序结束后释放(占用内存时间短,效率低)
 2.饿汉式:在类被加载后对象被创建,到程序结束后释放(占用内存时间长,提高效率)

 单例模式的目的是:节省重复创建对象所带来的内存消耗,从而提高效率。
 1.在设计一些工具类的时候(通常工具类只有功能方法没有属性)
 2.工具类可能会被频繁调用
 */
public class Test1 {
    public static void main(String[] args) {
        Singleton2 s=Singleton2.getInstance();
        s.print();
    }
}
//饿汉式
class Singleton1{
    private Singleton1(){}//不让外部创建对象 1.
    private static Singleton1 s=new Singleton1();// 2.
    public static Singleton1 getInstance(){//3.
        return s;
    }
    public void print(){
        System.out.println("测试方法1");
    }

}
//懒汉式
class Singleton2{
    private Singleton2() {}
    private static Singleton2 s;
    public static Singleton2 getInstance(){//需要实例化时再创建对象叫懒汉式
        if (s==null){
            s=new Singleton2();
        }
        return s;
    }
    public void print(){
        System.out.println("测试方法2");
    }
}

你可能感兴趣的:(java9 OOP 单例设计模式 2022-02-05)