关闭

黑马程序员——程序设计模式

145人阅读 评论(0) 收藏 举报

一、单例设计模式

设计模式的概念:解决某一问题最行之有效的方法。java中共有23种设计模式。

接下来我们讲解其中的一种:单例设计模式。

单例设计模式的作用:使一个类在内存中只存在一个对象。

用代码实现单例设计模式需要做三部:

        1、将构造函数初始化。

              例:private Single(){}

        2、在类中创建一个本类对象。

              例:private static Single s= newSingle();

        3、提供一个访问方法可以获取到该对象。

              例:public static Single getInstance()

                     {

                            returns;

                      }

例设计模式只是为了保证内存中的对象唯一。

1、为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象。

2、还为了让其他程序访问该类对象,只好在本类中,自定义一个对象。

3、为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。

这三步如何用代码体现呢?

1、private构造函数

2、在内中创建一个本类对象。

3、提供一个方法可以获取到该类对象。

对于事物该怎么描述,还怎么描述。

当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可。

class Single{

private Single(){}

private static single s = new Single();

public static Single getInstance()

{

return s;

}

}

class SingleDemo

{

public static void main(String[] args)

{

  Single ss=Single.getInstance();

}

}

单例设计模式有两种写法:

        1、饿汉式:也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。如上

2、懒汉式:它的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。如:在以下完整代码中,Single类进内存,对象还没有存在,只有调用了getInstance()方法时,才创建对象。

完整代码如下:




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1862次
    • 积分:113
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档