设计模式之—单例模式(Singleton)-Java实现
来源:互联网 发布:mac解压缩软件破解版 编辑:程序博客网 时间:2024/05/21 15:42
下面我就用代码来实现一个Singleton模式:
public class Singleton {private static Singleton instance = new Singleton();private Singleton(){}public static Singleton getInstance(){return instance;}}注解:
static这个关键字,它是Singleton模式的核心。
1.Singleton类的成员变量instance被声明为staitc就意味着这个成员变量只有一份(而不是每个对象一份)。
2.getInstance()这个方法是static的就是说,这个方法在Singleton这个类没有被实例化的时候就能使用。
3.当Singleton这个类被加载的时候(即:执行Singleton singleton1 = Singleton.getInstance();这句话的时候,注意不是这句话Singleton singleton1; ),这个类的静态成员变量instance被初始化(private static Singleton instance = new Singleton(); 这句话被执行),然后(注意是先初始化,再调用)调用getInstance()方法返回这个成员变量instance,当执行Singleton singleton2 = Singleton.getInstance();这句话的时候,因为instance被声明成static,因此,private static Singleton instance = new Singleton(); 不会被(注意是不会被)再次调用,而是直接调用getInstance()方法,返回同一个instance。这样就实现了Singleton这个模式。
下面是一些扩展,既然我们能够限制类只能生成一个对象,那么就能限制它最多生成指定数量个对象,代码如下:
public class Singleton { private Singleton(){} private static int count = 0; public synchronized static Singleton getInstance() { if(count < 10){ count++; return new Singleton(); }else{ return null; } } }
- 设计模式之—单例模式(Singleton)-Java实现
- 设计模式之—单例模式(Singleton)-Java实现
- Java设计模式之单例(Singleton)
- [java]设计模式之singleton(单例)
- Java设计模式之单例(Singleton)
- Java设计模式之单例模式(singleton模式)
- java设计模式之单例模式(Singleton模式)
- Java设计模式之单例模式(singleton模式)
- Java设计设计模式之单例模式(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- Java设计模式透析之 —— 单例(Singleton)
- ChartDirector 5.0 for python 笔记【11】Icon Pie Chart 上篇
- MPEG-2的系统
- Eclipse找不到C\C++头文件解决
- QT中的元对象系统(一):QVariant的简单说明
- Memory Layout for Multiple and Virtual Inheritance
- 设计模式之—单例模式(Singleton)-Java实现
- 图片数据Base64编解码(java实现)
- 在Linux上建立MySQL 5.0镜像
- oracle物化视图的一般用法
- chapter 3 -- file hole 文件的黑洞
- 基于ADSP-BF561的H.264视频编码器的实现
- Perl 学习笔记 --- 04
- 交换机配置基本命令
- H.264的基本概念