单例模式(饿汉式之静态创建)

2020-11-28  本文已影响0人  bin丶


以下方式均不推荐开发使用,仅供学习
package singleton;

/**
 * 饿汉式(静态常量)
 */
public class Singleton_1 {
    // 1. 私有化构造器
    private Singleton_1() {}

    // 2. 本类内部创建静态常量型实例
    private final static Singleton_1 instance = new Singleton_1();

    // 3. 对外提供公有的获取实例方法
    public static Singleton_1 getInstance() {
        return instance;
    }
}
package singleton;

/**
 * 饿汉式(静态代码块)
 */
public class Singleton_2 {

    // 1. 私有化构造器
    private Singleton_2() {}

    // 2. 静态变量
    private static Singleton_2 instance;

    static {
        instance = new Singleton_2();
    }

    // 3. 对外提供公有的获取实例方法
    public static Singleton_2 getInstance() {
        return instance;
    }
}

优点

缺点

两种创建方法优缺点一致

上一篇下一篇

猜你喜欢

热点阅读