原来理解的单例很是模糊,今天偶尔看到一篇对单例的讲解,觉得茅塞顿开应该写点东西留些纪念。
单例模式: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
对于概念应该关注两点
1.一个类仅有一个实例
何为一个类仅有一个实例呢,通过单例的饿汉式代码就能看出来。
public class Singleton {
private static Singleton uniqueInstance = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return uniqueInstance;
}
}
其中如果能够很好的理解此模式精髓,你就要理解java的几个核心的概念
1.private 的用法
2.static的用法
private访问权限只能在本类中访问,这个是最苛刻的访问条件但是他有一个最大的好处就是它控制了其他的类的访问,避免了外部对此private控制的属性定义的修改同时对方法调用的限制,哪怕是继承类你也不行。
static方法说白了就是不用new 对象就可以直接使用对象的方法,static的东西在他还有一个最好的特性static的变量可以作为一种全局的变量(注:java中没有全局变量的概念,通过static可以变相的实现全局变量的特征)。
所以综合以上说明:我们不能够外部创建new Singleton (),保证不能有很多的Singleton ,同时static有保证内存只开辟一个存储空间。
分享到:
相关推荐
scratch少儿编程逻辑思维游戏源码-皮博冒险者.zip
少儿编程scratch项目源代码文件案例素材-这是之前下载的测试.zip
scratch少儿编程逻辑思维游戏源码-汽车冲突.zip
scratch少儿编程逻辑思维游戏源码-梦幻岛 3D.zip
scratch少儿编程逻辑思维游戏源码-收集水果.zip
炫酷蓝色响应式投稿说明源码.zip
机器学习算法与应用大作业-基于预处理的小麦品种的分类和聚类源码+数据+使用说明.zip是个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。。内容来源于网络分享,如有侵权请联系我删除。
vs2019_Qt5.12.12编译好的ffmpeg库,因为是c接口,别的版本理论也可以用
scratch少儿编程逻辑思维游戏源码-欧力多.zip
少儿编程scratch项目源代码文件案例素材-越野运动员.zip
GUI开发_CMake_MSVC_CLion_ElaWidgetTools_跨平台界面组件库_简化项目结构_降低上手难度_提供完整编译环境配置_支持Windows11开发_快速集成
scratch少儿编程逻辑思维游戏源码-时间先生.zip
少儿编程scratch项目源代码文件案例素材-爪猫使命召唤.zip
内容管理系统_SpringBootThymeleaf双引擎解析_梦想家CMS开源建站系统_面向政府企业组织快速搭建展示型网站如企业官网技术博客信息门户等解决建站成本高周期长问题
健康监测与运动数据自动化_云函数部署与定时任务管理_乐心健康APP账号绑定与步数同步_通过腾讯云函数和青龙面板实现自动刷步并同步至蚂蚁森林获取每日296g能量的智能脚本系统_适用于
动态雨滴玻璃掉落个人主页源码.rar
scratch少儿编程逻辑思维游戏源码-鸟群算法.zip
scratch少儿编程逻辑思维游戏源码-墨迹.zip
本校园管理系统采用的数据库是Mysql,使用springboot框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
微服务架构_SpringCloud_Alibaba_Nacos_Sentinel_Redis_MyBatisPlus_自动化构建_分布式系统_基于smart-cloud框架的微服务