当前位置: 首页 > news >正文

Java中单例模式

什么是单例模式?

1. 构造方法私有化
2. 静态属性指向实例
3. public static的 getInstance方法,返回第二步的静态属性

饿汉式是立即加载的方式,无论是否会用到这个对象,都会加载。

package charactor;public class GiantDragon {//私有化构造方法使得该类无法在外部通过new 进行实例化private GiantDragon(){}//准备一个类属性,指向一个实例化对象。 因为是类属性,所以只有一个private static GiantDragon instance = new GiantDragon();//public static 方法,提供给调用者获取12行定义的对象public static GiantDragon getInstance(){return instance;}}


package charactor;public class TestGiantDragon {public static void main(String[] args) {//通过new实例化会报错
//		GiantDragon g = new GiantDragon();//只能通过getInstance得到对象GiantDragon g1 = GiantDragon.getInstance();GiantDragon g2 = GiantDragon.getInstance();GiantDragon g3 = GiantDragon.getInstance();//都是同一个对象System.out.println(g1==g2);System.out.println(g1==g3);}
}

 懒汉式单例模式与饿汉式单例模式不同,只有在调用getInstance的时候,才会创建实例

package charactor;public class GiantDragon {//私有化构造方法使得该类无法在外部通过new 进行实例化private GiantDragon(){        }//准备一个类属性,用于指向一个实例化对象,但是暂时指向nullprivate static GiantDragon instance;//public static 方法,返回实例对象public static GiantDragon getInstance(){//第一次访问的时候,发现instance没有指向任何对象,这时实例化一个对象if(instance == null){instance = new GiantDragon();}//返回 instance指向的对象return instance;}}

http://www.lryc.cn/news/224498.html

相关文章:

  • 第1章 现代通信网概述
  • 99%的时间里使用的14个git命令
  • 适用于 iOS 的 10 个最佳数据恢复工具分享
  • 泛微E-Mobile 6.0命令执行漏洞
  • React 共享组件状态及其实践
  • linux目录说明
  • 成集云 | 英克对接零售O2O+线上商城 | 解决方案
  • java传base64返回给数据报404踩坑
  • 【Delphi】Android 开发HTTP请求出错解决方案
  • Kafka中遇到的错误:
  • 线程安全(JAVA)
  • Lightroom Classic 2021 v10.4
  • Java面试题03
  • 【操作系统】测试二
  • 大厂面试题-索引有哪些缺点以及具体有哪些索引类型
  • Vue真实技术面试题解析【兄弟组件、vue-router、增量部署】
  • 响应式生活常识新闻博客资讯网站模板源码带后台
  • 获取AAC音频的ADTS固定头部信息
  • 二分查找--C++实现
  • 计算机毕设 基于机器学习的文本聚类 - 可用于舆情分析
  • uniApp获取当前位置经纬度
  • this.$message提示内容添加换行
  • “三大阶段稳定性测试”筑牢长安链信任基石
  • 手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
  • Spring Data JPA 项目配置与QueryDSL集成
  • UE5数字孪生制作-数据篇(二) - 数据处理
  • Java 设计模式——享元模式
  • 再扩国产化适配版图,长安链新增数据库兼容性认证
  • MES系统数据集成系统源码
  • 关于道一云-七巧使用感悟