Singleton-单例模式的理解的使用

1-对Singleton的理解

1- 单例对象设计
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象的实例

 2- 如何实现
饿汉式 VS 懒汉式

3- 区分"饿汉式"and"懒汉式"
饿: 坏处,对象加载时间长(但是,线程安全 ) 懒: 好处,延迟对象的创建(线程不安全)

2-对饿汉式的理解和使用

/*
单例的设计模式:-- 饿汉式
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象的实例
 */
public class singleTest {
    public static void main(String[] args) {
        //Bank bank = new Bank(); -- 不能直接调用私有的构造器

        Bank bank1 = Bank.getInstance();//Static方法的,可以只要用所属类来调用


    }
}

class Bank {//饿汉式

    //1- 私有化类的构造器
    private Bank() {
    }

    //2- 内部创建类的对象
    //4- 要求此对象也必须声明为静态
    private static Bank instance = new Bank();

    //3- 提供公共的方法,返回类的对象
    public static Bank getInstance() {
        return instance;
    }
}

3-对懒汉式的理解和使用

/*
单例的设计模式:-- 懒汉式

 */
public class SingletonTest2 {
    public static void main(String[] args) {
        Order order1 = Order.getInstance();
        Order order2 = Order.getInstance();
        System.out.println(order1 == order2);
    }
}

class Order {

    //1- 私有化类的构造器
    private Order() {
    }

    //2- 声明当前类对象,没有初始化
    //4- 此对象也必须声明为static的
    private static Order instance = null;

    //3- 声明public、static的返回当前类对象的方法
    public static Order getInstance() {
        if (instance == null) {
            instance = new Order();
        }
        return instance;
    }
}

posted on 2022-06-27 14:16  陈嘻嘻-  阅读(20)  评论(0编辑  收藏  举报

导航