黑马程序员技术交流社区

标题: 【成都校区】 单例模式 [打印本页]

作者: 施主    时间: 2019-3-20 13:45
标题: 【成都校区】 单例模式
public class Main {
    public static void main(String[] args) {



        Car car = Car.getCar();
        Car car1 = Car.getCar();
        System.out.println(car);
        System.out.println(car1);
//        Car.addAll();
    }
}
/*
    懒汉式(科学一点)
    缺点: 线程安全问题
    // 多线程:   加锁  同步锁
*/
class Car {
    private static Car c ;//null
    //构造
    private Car(){
        System.out.println("创建对象了");
    }
    // 需要对象
    public static Car getCar(){
        //1000个人同时调用
        if(c==null){
            //小明
            //小红
            c = new Car();//0x133   0x144
        }
        return c;
    }
    // 不需要对象
    public static void sort(){
        System.out.println("排序了");
    }
    public static void addAll(){
        System.out.println("addAll功能执行了");
    }
}




//单例模式
//饿汉式
/*
class Car {
    private static Car c = new Car();
    //构造
    private Car(){
        System.out.println("创建对象了");
    }
    // 需要对象
    public static Car getCar(){
        return c;
    }
    // 不需要对象
    public static void sort(){
        System.out.println("排序了");
    }

    public static void addAll(){
        System.out.println("addAll功能执行了");
    }

}*/





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2