栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础:知道什么叫单例模式吗,就是说,这世界上唯一的只有你

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础:知道什么叫单例模式吗,就是说,这世界上唯一的只有你

单例模式

单例也就是单个一个实例,单例模式也就是在程序运行过程中,单例模式设计的类只会出现一个实例。因为创建对象都是要调用构造函数的,所以每一种单例模式的第一步都是将构造函数私有化。

懒汉模式

懒汉模式表示不会提前创建好对象的实例,而是在需要到此类对象时才去创建。

  1. 私有化构造函数,使其在外部无法创建对象。
  2. 提供对外的获得此类对象的接口(getA方法)。
  3. 创建一个静态的全局本类类型属性,之所以是静态的,是因为只会创建一次,只有一个空间。
  4. 为了防备外部直接调用静态的属性而获得此类对象,需要将全局属性私有化。
  5. 在对外的方法中,对静态的属性进行判断,如果此属性没有值,则表示是第一次索要本类对象,创建对象赋值给全局属性。如果此属性不是一个空的,证明不是第一次索要对象,此类对象已经创建过,则将原有的对象的地址返回。
//懒汉式
class A{
	private static A a;
	private A(){}
	public static A getA(){
		if(a == null){			//==号的作用是判断两个对象的地址是否相同
			a = new A();
		}
		return a;
	}
}
饿汉模式

在类加载时就创建好类的对象,在需要到实例属性时将已经创建好的实例进行返回。

  1. 私有化构造方法,使其在外部无法创建对象。

  2. 创建一个对外的接口(getB方法),用于获得本类的实例。

  3. 创建一个私有的静态的本类类型的引用,定义为常量,并赋值为本类的对象。

    在调用“对外接口方法”时,静态的属性就将被赋值为本类的对象。

  4. 在对外接口方法中,返回静态的本类引用(b)。

//饿汉式
class B{
	private final static B b = new B();
	private B(){}
	public static B getB(){
		return b;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号