您的位置 首页 java

java设计模式1(单例模式)

工作好几年了,在实际编码中设计模式也用到了不少,打算写一个介绍设计模式的系列,为后来者提供参考,也为是给自己做一个总结。本系列文章只关系到技术本身,不涉及到业务,笔者水平有限,写的不好,请勿喷。如有错误请在评论区指正,谢谢!

本篇是java设计模式的第一篇—— 单例模式

单例模式是23种设计模式中最好理解的一种设计模式,分为懒汉式和饿汉式。

饿汉式:

class Singleton {
 // 直接创建对象
 private static final Singleton singleton = new Singleton();

 // 私有化 构造函数 
 private Singleton() {}

 // 返回对象实例
 public static Singleton getInstance() {
 return singleton;
 }
}
 

懒汉式:

class Singleton {
 // 声明变量
 private static Singleton singleton = null;

 // 私有构造函数
 private Singleton() {}
 
 // 提供对外方法
 public static Singleton getInstance(){
 if(singleton == null){
  synchronized (Singleton.class) {
 if(singleton == null) {
 singleton = new Singleton();
 }
 }
 }
 return singleton;
 }
}

 

总结一下要点:

1. 只能拥有一个对象。

2. 构造函数私有,以保证不能创建多余的对象。

3. 在类内创建一个对象,将其引用作为成员变量,但构造函数是私有的,无法new对象,只能将类内对象的引用加上 static 修饰符,以保证可以直接用类加载调用。

4. 这个对象作为成员变量,一般为 private ,所以有对应的get方法。

5. getInstance () 方法必须为 静态方法

文章来源:智云一二三科技

文章标题:java设计模式1(单例模式)

文章地址:https://www.zhihuclub.com/182392.shtml

关于作者: 智云科技

热门文章

网站地图