Java中有很多设计模式,这些模式可以看作是一种套路,根据这套路来就可以解决类似对应的问题。

目前我们公认的有23种设计模式,今天聊聊Java单例模式(饿汉式)是怎么一回事。

上代码

//先创建一个类,女朋友类
class GirlFriend{//先私有化构造器,防止直接newprivate GirlFriend(){}//在类的内部直接new出一个对象,并且staticprivate static GirlFriend gf = new GirlFriend();//提供一个获取对象的方法public static GirlFriend getGirlFriend(){//把对象返回出去retrun gf;}
}

这样在调用时,只会产生一个女朋友对象

1、将构造器私有化,防止在外部直接new

2、在类的内部创建对象,并static,再提供一个公共方法,返回创建的静态对象

创建对象,为什么要用static修饰,因为静态方法只能访问静态成员,不能访问普通成员

static成员会在类加载的时候执行且只执行一次,

这样无论创建多少次,得到的都是同一个对象

为什么叫饿汉式

//先创建一个类,女朋友类
class GirlFriend{//有个私有属性,nameprivate static String name ="小红";//先私有化构造器,防止直接newprivate GirlFriend(){}//在类的内部直接new出一个对象,并且staticprivate static GirlFriend gf = new GirlFriend();//提供一个获取对象的方法public static GirlFriend getGirlFriend(){//把对象返回出去retrun gf;}
}

这里添加一个私有属性name,

如果我们通过类名直接调用这个name 属性,GirlFriend.name

那么根据类的加载机制,静态成员会先加载

所以gf对象也会先创建好。

比如有个媒婆给你介绍女朋友,你光知道了别人的名字,就已经想好了她是一个怎样的人,还没见过面,就已经在脑海中创建好了一个对象,这就称为饿汉式。

表示很着急,急着找对象

Java单例模式(饿汉式)相关推荐

  1. java 单例模式 ---饿汉式懒汉式

    目录 单例设计模式 饿汉式 懒汉式 饿汉式vs懒汉式 结语 单例设计模式 所谓单例设计模式,就是采取一定的方法在整个软件系统中,对某个类只能存在一个对象实例 1.单例类只能有一个实例. 2.单例类必须 ...

  2. Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细

    目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...

  3. Singleton模式(单例模式) 饿汉式和懒汉式

    目的:整个应用中有且只有一个实例,所有指向该类型实例的引用都指向这个实例. 好比一个国家就只有一个皇帝(XXX),此时每个人叫的"皇帝"都是指叫的XXX本人; 常见单例模式类型: ...

  4. 单例模式——饿汉式和懒汉式

    单例模式:一个类只允许存在唯一的对象,并提供它的访问方式 创建思路: 1.禁止在类的外部创建对象:私有化构造函数 2.在类的内部提供唯一的对象:静态成员变量 3.提供访问唯一对象的方法:静态成员函数 ...

  5. 单例模式饿汉式与懒汉式详解

    单例模式饿汉式与懒汉式详解 步骤: 私有构造方法,使得在类的外部不能调用此方法,限制产生多个对象 类初始化时,区分饿汉式与懒汉式的区别 对外部提供调用方法,将创建的对象返回,只能通过类来调用 饿汉式: ...

  6. Java中单例模式—饿汉式和懒汉式

    所谓单例模式就是为了确保类在内存中只有一个对象,之所以会出现单例模式是因为,单例模式在系统内存中只存在一个对象,可以节约资源 目录 一.饿汉式 二.懒汉式 一.饿汉式 该方式在开发中是经常用的,因为这 ...

  7. Java中单例模式----饿汉式(HungrySingLeton)和懒汉式(LazySingLeton)

    一. 单例模式概述 单例模式(Singleton),也叫单子模式,是一种常用的设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候,整个系统只需要拥有一个的全局对象,这样有利于我 ...

  8. 【学习笔记】【C++整理A】【总】单例模式-饿汉式、懒汉式;

    文章目录 一.语言分类: 三.基础A:- 函数重载.默认参数.extern "C".重复包含 1.函数重载 2.默认参数 3.extern "C" 4.防止重复 ...

  9. 单例模式饿汉式/懒汉式的区别

    単例设计模式(Singleton Pattern): 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法. 如果我们要 ...

  10. Java实现单例模式(懒汉式和饿汉式)

    文章目录 前言 一.何谓单例模式? 二.如何控制某个类只有一个对象? 三.饿汉单例 四.懒汉单例 4.1 单线程下 4.2 多线程下(简单版) 4.3 多线程下(增强版) 总结 前言 博主个人社区:开 ...

最新文章

  1. LeetCode简单题之汇总区间
  2. Android关于绘图中Shader 的效果(中级)
  3. AttributeError:module tensorflow no attribute app解决办法
  4. getParentalNodePaths、osg::NodePathList、osg::NodePath详解
  5. ai模型_这就是AI的样子:用于回答问题的BiDAF模型
  6. Catalan卡塔兰数
  7. 几个想法,有兴趣的可以深入下去
  8. MySQL 管理猿利器: MySQL ODBC for iPhone!
  9. mysql 与c_mysql基础:mysql与C结合实例
  10. Docker 概述 与 CentOS 上安装、卸载、启动
  11. python 视频剪辑_视频剪辑什么鬼?Python 带你高效创作短视频
  12. 【零散知识】最大类间方差法(大津法,Otsu)
  13. gaster字体转换器_哥特字体在线生成,哥特字体在线生成器,哥特字体在线转换
  14. firefox 无法启动
  15. 服贸会在京举行|淘宝直播携手佳能佳直播联合发布《电商直播高画质开播指南》让品质直播触手可及...
  16. 项目管理师备考笔记:十大管理之范围管理
  17. Linux入门到精通
  18. 软件测试中UT,IT,ST,UAT
  19. 球的表面积(数论题)
  20. 白内障手术后诊断PHP,单眼PHPV+先天性白内障患儿, 3岁11个月手术,术后注意事项...

热门文章

  1. 最新款电影程序源码 影院网站源码 在线采集多资源播放器去广告
  2. 为什么图灵奖获得者戴克斯特拉痛恨 BASIC 语言
  3. js读取剪切板html,JS获取剪贴板的内容
  4. 装什么软件测试笔记本耐用,我买了新电脑,用什么软件测试比较好?
  5. 单片机控制SIM900A型GSM模块发送数字短信(附源码)
  6. VARCHART XGantt_v5.1用户手册:如何把控件放在表单上
  7. 【组合数学】 牡牛和牝牛
  8. web中常用的20种字体 (share)
  9. Delphi制作打印面签案例
  10. 密码安全攻防技术精讲