在Java中如何写出完美的单例模式?

在Java中如何写出完美的单例模式?1 1 单例设计模式的实现 1 1 1

大家好,欢迎来到IT知识分享网。

视频加载中…

1.1. 单例设计模式的实现

1.1.1. 单例代码实现

需求:使用Java代码描述太阳,要求最多只能创建一个对象;

/

* Sun

* 表示太阳的类

* @author 快学大数据

* 2018年6月15日 下午3:10:33

*/

public class Sun {

/*

* 思考:这个类,要求最多只能创建一个对象;

* 分析对象创建过程,发现,创建一个对象,需要使用new关键字和构造函数,

* 所以应该从new关键字和构造函数这两者上想办法;

* new关键字,是Java内置的一个关键字,程序员不能控制,所以只能控制构造函数,

* 不让其他地方随意使用;

* 使用private关键字修饰构造函数,这个类之外的地方就自然不能使用;

*/

private Sun() {}

/*

* 思考:单例不是没有对象,而是最多创建一个对象,就是还需要创建一个对象出来;

* 因为构造函数私有了,外界都不能使用,所以这个对象应该在这个类里面创建;

* 创建好的对象,需要使用一个成员变量保存;

* 保存这个唯一对象的成员变量,需要是静态的,而且为了安全,应该私有化。

*/

private static Sun ss = new Sun();

/*

* 因为保存 这个对象的变量被封装了,外界不能访问到,

* 所以应该提供一个公开的get方法,供外界使用;

* 又因为外界在调用这个方法获取sun对象之前,没有Sun的对象,

* 所以不能通过对象调用这个方法,所以这个方法应该用static修饰

*/

public static Sun getSun() {

return ss;

}

}

1.1.2. 单例实现步骤

要实现一个单例类,需要经过三个步骤:

1、私有化构造函数,目的是避免其它类可以创建这个类的对象;

2、在本类中创建唯一实例对象(因为构造函数私有化了,所以单例类的唯一实例对象只能在单例类里面创建;),使用一个私有静态的成员变量保存

3、对外提供一个公开的静态的函数供别人获取这个唯一实例对象

在Java中如何写出完美的单例模式?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/179486.html

(0)
上一篇 2025-05-28 09:33
下一篇 2025-05-28 10:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信