单例设计模式

单例设计模式:

(1)饿汉式:

实现步骤:

① 私有化类的构造器;

② 内部创建类的对象;

③ 提供公共的静态方法,返回类的对象;

④ 要求此对象也必须声明为静态的。

例如:

class Bank{
//私有化类的构造器
private Bank(){}
//内部创建类的对象,要求此对象也必须声明为静态的
private static Bank instance = new Bank();
//提供公共的静态方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}

(2)懒汉式:

实现步骤:

① 私有化类的构造器;

② 声明当前类的对象,不初始化;

③ 提供公共的静态方法,返回类的对象;

④ 要求此对象也必须声明为静态的。

例如:

class Bank{
//私有化类的构造器
private Bank(){}
//声明当前类的对象,不初始化,要求此对象也必须声明为静态的
private static Bank instance = null;
//提供公共的静态方法,返回类的对象
public static Bank getInstance(){
if(instance == null){
instance = new Bank();
}
return instance;
}
}

(3)饿汉式和懒汉式的区别:

饿汉式:

优点:线程安全。

缺点:对象加载时间过长。

懒汉式:

优点:延迟对象的创建。

缺点:线程不安全。

(4)应用场景:网站的计数器、应用程序的日志应用、数据库连接池、项目中读取配置文件的类、Application、Windows中的任务管理器、Windows的回收站等。

posted @   萧若風  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示