黑马程序员:单例设计模式
2012-08-07 17:25
211 查看
----------
android培训、java培训、期待与您交流! ----------
java中存在23种设计模式,其中,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类
2.它能自行创建这个实例
3.必须向系统提供调用此实例的方法
2.为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象
3.为了方便其他程序对自定义对象的访问,必须对外提供一些访问方式
2.在类中创建一个本类对象
3.提供一个方法可以获取到该对象
在java中用代码实现单例设计模式,在这我主要是分析两种方法:懒汉式和饿汉式
懒汉式:
在后来的学习中,发现了枚举也能实现单例设计,它利用的原理就在于,枚举类型规定你只能用它里面设定的成员,所以,只有一个成员的时候,就是单例了。
----------
android培训、java培训、期待与您交流! ----------
详情请查看:http://edu.csdn.net/heima/
android培训、java培训、期待与您交流! ----------
java中存在23种设计模式,其中,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类
单例设计模式的要点:
1.类只能有一个实例2.它能自行创建这个实例
3.必须向系统提供调用此实例的方法
如何确保对象的唯一性:
1.为了避免其他程序过多的建立该类对象,就必须禁止其他程序建立该类对象2.为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象
3.为了方便其他程序对自定义对象的访问,必须对外提供一些访问方式
以上三点的代码体现:
1.将构造函数私有化2.在类中创建一个本类对象
3.提供一个方法可以获取到该对象
在java中用代码实现单例设计模式,在这我主要是分析两种方法:懒汉式和饿汉式
饿汉式:
关键代码:
class Single { private Single(){} private static Single s = new Single(); public static Single getInstance() { return s; } }
懒汉式:
关键代码:
class Single { private static Single s = null; private Single(){} public static Single getInstance() { if(s==null) { synchronized(Single.class) { if(s==null) s = new Single(); } } return s; } }
在后来的学习中,发现了枚举也能实现单例设计,它利用的原理就在于,枚举类型规定你只能用它里面设定的成员,所以,只有一个成员的时候,就是单例了。
枚举实现
关键代码
public enum SingleInstance{ /*提供了一个可以访问的枚举成员*/ // singleInstance; //默认是不带参的构造函数 singleInstance(2); //使用带参的构造函数 private SingleInstance(){System.out.println("default constructor");}; //构造函数 private SingleInstance(int i){System.out.println("param constructor"+"..."+i);}; //带参的构造函数 public void method(){System.out.println("我是方法");}; //方法 } }
----------
android培训、java培训、期待与您交流! ----------
详情请查看:http://edu.csdn.net/heima/
相关文章推荐
- 黑马程序员-Java设计模式之单例模式解析
- 黑马程序员_java面向对象总结【2】(静态、单例设计模式)
- 黑马程序员---------------------编写一个延迟加载的单例设计模式
- 黑马程序员——学习Java基础之 io LineNumberReader 之装饰设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_面向对象1_(封装、构造函数、this、static、单例设计模式)
- 黑马程序员——Java基础->单例设计模式
- 黑马程序员——静态导入,可变参数,自动拆箱装箱以及享元设计模式 JDK1.5新特性
- 黑马程序员——设计模式——工厂方法模式
- 黑马程序员——java中的设计模式
- 黑马程序员——Java语言基础:面向对象、封装(构造函数、设计模式)
- 黑马程序员JAVA基础-单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员———单例设计模式-懒汉式关于线程安全以及要点
- 黑马程序员——Java中的设计模式
- 黑马程序员------了解到的一些设计模式
- 黑马程序员-android之设计模式
- 黑马程序员——Java基础---单例设计模式
- 黑马程序员-单例设计模式
- 黑马程序员_8_观察者设计模式