10.7 单例模式
单例模式----饿汉模式
class Singleton { // 单例程序类
// 在类内部进行Single类对象实例化,为了防止可能出现重复实例化所以使用final标记
private static final Singleton INSTANCE = new Singleton();
private Singleton() {} // 构造方法私有化,外部无法通过关键字new实例化
/**
* 获取本类实例化对象方法,static方法可以不受实例化对象的限制进行调用
* @return INSTANCE内部实例化对象,不管调用多少次此方法都只返回同一个实例化对象
*/
public static Singleton getInstance() {
return INSTANCE;
}
public void print() { // 信息输出
System.out.println("www.mldn.cn");
}
}
public class JavaDemo {
public static void main(String args[]) {
// 在外部不管有多少个Singleton类对象,实质上最终都只调用唯一的一个Singleton类实例
Singleton instance = null; // 声明对象
instance = Singleton.getInstance(); // 获取实例化对象
instance.print(); // 通过实例化对象调用方法
}
}
单例模式----懒汉模式(也称为饱汉模式)
class Singleton { // 单例程序类
// 定义公共的instance属性,由于需要在第一次使用时实例化,所以无法通过关键字final定义
private static Singleton instance; // 声明本类对象
private Singleton() {} // 构造方法私有化,外部无法通过关键字new实例化
/**
* 获取本类实例化对象方法,static方法可以不受实例化对象的限制进行调用
* @return 返回唯一的一个Singleton类的实例化对象
*/
public static Singleton getInstance() {
if (instance == null) { // 第一次使用时对象未实例化
instance = new Singleton() ; // 实例化对象
}
return instance ; // 返回实例化对象
}
public void print() { // 信息输出
System.out.println("www.mldn.cn");
}
}
public class JavaDemo {
public static void main(String args[]) {
// 在外部不管有多少个Singleton类对象,实质上最终都只调用唯一的一个Singleton类实例
Singleton instance = null; // 声明对象
instance = Singleton.getInstance(); // 获取实例化对象
instance.print(); // 通过实例化对象调用方法
}
}
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2021-07-01 PHP用CURL发送Content-type为application/json的POST请求方法
2019-07-01 怎么用Ubuntu系统制作Ubuntu系统盘