黑马程序员——设计模式之单例设计模式
2014-10-09 11:02
162 查看
-------
android培训、java培训、期待与您交流! ----------
设计模式:对问题行之有效的解决方式。其实是一种思想。
2. 在该类创建一个本类的实例。
3.再对外提供一个方法让其他程序可以获取该对象。
2. 在本类中new一个对象
3. 定义一个公有方法,将创建的对象返回
android培训、java培训、期待与您交流! ----------
设计模式:对问题行之有效的解决方式。其实是一种思想。
Q:单例设计模式所解决的问题?
可以保证一个类在内存中的对象的唯一性。Q:什么时候需要保证一个类在内存中的对象的唯一性?
例如多个程序使用同一个配置信息对象时,需要保证该对象的唯一性。Q:如何保证对象的唯一性?
1. 不允许其他应用程序用new创建该类对象2. 在该类创建一个本类的实例。
3.再对外提供一个方法让其他程序可以获取该对象。
Q:步骤?
1. 私有化该类构造函数2. 在本类中new一个对象
3. 定义一个公有方法,将创建的对象返回
/* 需求,一个饿汉式单例 */ class Single { private static Single s = new Single(); private Single(){} public static Single getInstance(){ return s; } } class SingleDemo1{ Single s = Single.getInstance(); } class SingleDemo2 { Single2 s = Single2.getInstance(); } //懒汉式单例模式 class Single2 { private static Single2 s = null; //此时类加载进内存,但是没有对象存在,当没有对象时只有调用getInstance()方法时才创建对象 private Single2(){} public static Single2 getInstance(){ if (s == null) { synchronized(Single2.class) { if(s == null) { s = new Single2(); } } } return s; } }
相关文章推荐
- 黑马程序员_IO流-装饰设计模式
- 黑马程序员:单例设计模式
- 黑马程序员_day06 面向对象(静态,对象的初始化和对象调用成员过程,单例设计模式)
- 黑马程序员---单例设计模式
- 黑马程序员---静态代码块、单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员-单例设计模式:懒汉式和饿汉式
- 黑马程序员-设计模式,继承和抽象类
- 黑马程序员-单例设计模式
- 黑马程序员-享元设计模式
- 黑马程序员 java学习笔记3-IO流之字节流与装饰设计模式
- 黑马程序员,延迟加载的单例设计模式
- 黑马程序员—2个设计模式
- 黑马程序员:一些简单的设计模式
- 黑马程序员 Java的设计模式——单例设计模式
- 黑马程序员———设计模式之——单例设计模式
- 黑马程序员—— 装饰设计模式
- 黑马程序员-面向对象之单例设计模式
- 黑马程序员:享元设计模式
- 黑马程序员:单态设计模式static(使类在内存只有一个实例对象)