当前位置: 首页> 房产> 政策 > 身无分文一天赚2000_深圳十大传媒公司排名_网站快速收录工具_网站申请

身无分文一天赚2000_深圳十大传媒公司排名_网站快速收录工具_网站申请

时间:2025/8/9 8:33:28来源:https://blog.csdn.net/Natural_Pride/article/details/146313116 浏览次数:0次
身无分文一天赚2000_深圳十大传媒公司排名_网站快速收录工具_网站申请

什么是设计模式

一个问题通常有种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。

设计模式有20多种,对应20多种软件开发中会遇到的问题。

关于设计模式,主要学什么?

解决什么问题?

怎么写?

单例设计模式

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。在某些场景下,我们只需要一个对象来协调系统中的各项操作,例如配置管理、数据库连接池等,单例模式就非常有用。

单例模式写法

饿汉式单例模式的特点

饿汉式单例模式是单例模式的一种实现方式,其特点是在类加载时就创建了唯一的实例。这意味着无论是否需要使用该实例,它都会在类加载时被创建,因此被称为“饿汉式”。

代码实现分析

public class A {// 1. 私有化构造器:确保单例类无法创建太多实例,保证单例实现的可能性private A(){}// 2. 定义一个静态变量:用于存储本类的唯一实例private static A a = new A();// 3. 提供一个静态方法:用于获取本类的唯一实例public static A getA(){return a;}
}
  • 私有化构造器:private A() {},将构造器私有化,这样外部类就无法通过 new 关键字来创建 A 类的实例,保证了类的实例只能在类内部创建。
  • 静态变量存储唯一实例:private static A a = new A();,在类加载时就创建了 A 类的实例,并将其存储在静态变量 a 中。由于 a 是静态的,所以它属于类而不是类的实例,全局只有一份。
  • 静态方法获取唯一实例:public static A getA() { return a; },提供一个静态方法 getA() 用于获取 A 类的唯一实例。外部类可以通过 A.getA() 来获取该实例。
public class Test {public static void main(String[] args) {// 目标:掌握单例设计模式的实现方式A a1 = A.getA();A a2 = A.getA();System.out.println(a1 == a2);System.out.println(a1);System.out.println(a2);}
}

测试代码:在 main 方法中,通过 A.getA() 方法分别获取两个 A 类的实例 a1a2,然后比较它们的引用是否相等。由于饿汉式单例模式保证了类只有一个实例,所以 a1a2 的引用是相等的,输出结果为 true

小结

  • 什么是设计模式,设计模式主要学什么?单例模式解决了什么问题?
    • 具体问题的最优解决方案。
    • 解快了什么问题?怎么写?
    • 确保某个类只能创建一个对象。
  • 单例怎么写?饿汉式单例的特点是什么?
    • 把类的构造器私有;定义一个静态变量存储类的一个对象;提供一个静态方法返回对象。
    • 在获取类的对象时,对象已经创建好了。
  • 单例有啥应用场景,有啥好处?
    • 任务管理器对象、获取运行时对象。

懒汉式单例模式

懒汉式单例模式是单例模式的一种实现方式,其特点是在第一次使用该实例时才进行创建,而不是在类加载时就创建。这种方式被称为“懒汉式”,因为它比较“懒”,直到真正需要时才去创建实例。

代码实现分析

  1. 私有化构造器:private B() {},将构造器私有化,防止外部类通过 new 关键字创建 B 类的实例,保证单例的实现。
  2. 静态变量存储实例:private static B b = null;,定义一个静态变量 b 用于存储 B 类的唯一实例,初始值为 null,表示还未创建实例。
  3. 静态方法获取实例:public static B getB(),提供一个静态方法用于获取 B 类的唯一实例。在方法内部,首先检查 b 是否为 null,如果为 null 则创建一个新的 B 类实例并赋值给 b,然后返回 b;如果 b 不为 null,则直接返回 b

测试代码:

main 方法中,通过B.getB()方法分别获取两个 B 类的实例 b1b2,然后比较它们的引用是否相等。由于懒汉式单例模式保证了类只有一个实例,所以 b1b2 的引用是相等的,输出结果为 true

小结

  • 懒汉单例模式的特点是什么?
    • 要用类的对象时才创建对象(延迟加载对象)
  • 懒汉单例模式怎么写?
    • 把构造器私有。
    • 定义一个类变量用于存储对象。
    • 提供一个类方法,保证返回的是同一个对象。
关键字:身无分文一天赚2000_深圳十大传媒公司排名_网站快速收录工具_网站申请

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: