博客
关于我
2-单例模式 - 创建型模式
阅读量:399 次
发布时间:2019-03-05

本文共 953 字,大约阅读时间需要 3 分钟。

文章目录

参考:设计模式之禅,https://www.runoob.com/

1. 例子

在这里插入图片描述

public class SingleObject {       private static SingleObject instance = new SingleObject();    private SingleObject() {       }    public static SingleObject getInstance() {           return instance;    }    public void showMessage() {           System.out.println(instance);    }}
public class SingletonPatternDemo {       public static void main(String[] args) {           for (int i = 0; i < 3; i++) {               SingleObject instance = SingleObject.getInstance();            instance.showMessage();        }    }}

输出结果是一样的,表明是同个对象。

com.freedom.pattern.singleton.SingleObject@47089e5fcom.freedom.pattern.singleton.SingleObject@47089e5fcom.freedom.pattern.singleton.SingleObject@47089e5f

2. 单例模式特点

  • 只有一个实例;
  • 构造函数必须私有,即其他对象不能通过new创建;
  • 自身必须提供获得实例的方法。

3. 延伸阅读

  • https://www.runoob.com/design-pattern/singleton-pattern.html
  • https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/singleton.html

转载地址:http://tphwz.baihongyu.com/

你可能感兴趣的文章
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
查看>>
mysql支持表情
查看>>
MySQL支撑百万级流量高并发的网站部署详解
查看>>
MySQL改动rootpassword的多种方法
查看>>
mysql数据分组索引_MYSQL之索引配置方法分类
查看>>
mysql数据取差,mysql屏蔽主外键关联关系
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
Mysql数据库 InnoDB存储引擎中Master Thread的执行流程
查看>>