您的位置:首页 > 职场人生

黑马程序员——设计模式之单例设计模式

2014-10-09 11:02 162 查看
-------
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;

}

}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java学习笔记