浅析JAVA设计模式之单例模式(一)
来源:互联网 发布:淘宝主页装修 编辑:程序博客网 时间:2024/05/20 02:28
1 单例模式简介
单例模式确保一个类只有一个实例,并且自行实行实例化并向整个系统提供这个实例。
单例模式有三个要点:
1.某个类只能有一个实例。
2.它必须自行创建这个实例。
3.它必须向整个系统提供这个实例。
单例模式主要分为两种:饿汉式单例模式和懒汉式单例模式
1.1饿汉式单例模式:
饿汉式单例模式是java语言实现起来最为简单的单例模式,UML图如下:
图1.1
从图中可以看出,它自己将自己实例化。
1.2饿汉式单例模式的实现(建一个Singleton包,所有程序放在该包下):
(1)建一个需要单例化的类(EagerSingleton java)。
package Singleton;public class EagerSingleton {private final static EagerSingleton instance = new EagerSingleton();private EagerSingleton(){}//静态工厂方法public static EagerSingleton getInstance(){return instance;}}
从代码可以看出,在这个类被加载的时候,静态变量instance会被初始化,此时类的私有构造方法被调用,这时,类的唯一实例就被创建出来了。
还有一个特点就是,构造方法是私有的,所以外部是无法调用其构造方法创建实例,但是因为构造方法是私有的,所以该类不能被继承。
(2)编写测试类(TestEagerSingleton.java)。
package Singleton;public class TestEagerSingleton {public static void main(String[] args) {// TODO 自动生成方法存根EagerSingleton eagersingleton1=EagerSingleton.getInstance();EagerSingleton eagersingleton2=EagerSingleton.getInstance();EagerSingleton eagersingleton3=EagerSingleton.getInstance();System.out.println(eagersingleton1);System.out.println(eagersingleton2);System.out.println(eagersingleton3);}}
输出结果:
Singleton.EagerSingleton@c17164
Singleton.EagerSingleton@c17164
Singleton.EagerSingleton@c17164
从结果可以看到,无论创建多少次,都是唯一一个实例。
(3)最后我们看一下UML图。
图1.2
Author: Vicky
Introduction: 教育工作者
Sign: 前事不忘,后事之师
0 0
- 浅析JAVA设计模式之单例模式(一)
- 浅析JAVA设计模式之单例模式(二)
- 设计模式之单例模式、命令模式浅析
- Android之单例设计模式浅析
- Java模式设计之单例模式(一)
- Java模式设计之单例模式(一)
- Java模式设计之单例模式(一)
- Java模式设计之单例模式(一)
- java设计模式(一)之单例模式详解
- Java设计模式(一) 之 详解单例模式
- java设计模式之单例模式(一)
- (一)Java设计模式之单例模式
- iOS设计模式浅析之单例设计模式
- 一 设计模式之单例模式
- 设计模式之单例模式 (一)
- 一、设计模式之单例模式
- (一)设计模式之单例模式
- 设计模式一之单例模式
- linux mint 17 安装中文输入法 ubuntu 14.04
- ubuntu下安装山寨币钱包
- 冒泡排序(C语言实现)
- 第13周项目3-成绩处理函数版
- OpenWrt 无线命令 iwpriv
- 浅析JAVA设计模式之单例模式(一)
- www.bowltownandcountrylanes.com/style.html
- ProtoBuf开发者指南
- IOS隐藏Tabbar
- 为梦而生
- 2014 6月,比较老了
- Linux红黑树编程实例,图形化显示红黑树
- MTK平台手机串号(IMEI)修改
- Mac eclipse 连接 手机调试