单例模式

饿汉模式

public class Car {

    private static Car car = new Car();

    private Car() {

    }

    public static Car getInstance() {
        return car;
    }
}

懒汉模式

public class Car {

    private static Car car;

    private Car() {

    }

    public static Car getInstance() {
        if (null == car) {
            synchronized (Car.class) {
                if (null == car) {
                    car = new Car();
                }
            }
        }
        return car;
    }
}

静态内部类(推荐)

public class Car {

    private Car() {

    }

    public static Car getInstance() {
        return SingletonHolder.INSTANCE;
    }

    private static class SingletonHolder {
        private static Car INSTANCE = new Car();
    }
}
posted @ 2022-11-23 17:28  废物大师兄  阅读(52)  评论(0编辑  收藏  举报