单例设计模式 benben Posted on Jun 8 2023 java-basis ``` /* * 单例设计模式: * 1. 所谓的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 * * 2. 如何实现? * 饿汉式 vs 懒汉式 * * 3. 区分饿汉式和懒汉式 * 饿汉式: * 坏处:对象加载时间过长。 * 好处:饿汉式时线程安全的。 * * 懒汉式:好处:延迟对象的创建。 * 目前的写法坏处:线程不安全。 --->到多线程内容时,再修改o * */ ``` ``` public class SingletonTest1 { public static void main(String[] args) { Bank bank1 = Bank.getInstance(); Bank bank2 = Bank.getInstance(); System.out.println(bank1); System.out.println(bank2); System.out.println(bank1 == bank2);// true } } //饿汉式 class Bank { // 1.私有化类的构造器 private Bank() { } // 2.内部创建类的对象 // 4.要求此对象也必须声明为静态的 private static Bank instance = new Bank(); // 3.提供公共的方法,返回类的对象 public static Bank getInstance() { return instance; } } ``` ``` //懒汉式 public class SingletonTest2 { public static void main(String[] args) { Order order1 = Order.getInstance(); Order order2 = Order.getInstance(); System.out.println(order1); System.out.println(order2); System.out.println(order1 == order2);// true } } 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; } } ``` 赠人玫瑰,手留余香 赏 Wechat Pay Alipay static关键字的使用 8.从源文件到可执行文件