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

原创 2015年07月08日 13:44:47

一、单例设计模式

设计模式的概念:解决某一问题最行之有效的方法。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()方法时,才创建对象。

完整代码如下:




相关文章推荐

黑马程序员——面向对象程序设计

声明:以下均是个人理解如有雷同不甚荣幸,如有错误还望海涵 对于面向对象程序首先就要了解什么类,什么是对象,以及面向对象的三个基本特征? 类就是将现实生活中事物抽象的在程序中描述。而对象就是一个个描述该...

黑马程序员——java基础(总结、设计模式、java新特性)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第十六章:java基础(总结、设计模式、java新特性) 本章概述:...

黑马程序员——java中的设计模式

这里只讨论创建型模式 设计模式: 经验的总结。 A:创建型 创建对象 B:结构型 对象的组成 C:行为型 对象的功能 创建型模式: 1:简单工厂模式 提供抽象类(动物),让具体类(猫、狗)去继承抽...
  • DoSamba
  • DoSamba
  • 2015年12月27日 08:39
  • 262

黑马程序员——面向对象06(static、对象初始化、单例设计模式)

——- android培训、java培训、期待与您交流! ———- 1.1:static(静态)关键字 1,static是一个修饰符,用于修饰成员(成员变量和成员函数)。当成员被静态修饰后,...

黑马程序员——学习Java基础之 io LineNumberReader 之装饰设计模式

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —— 视频学习io装饰设计模式 学习中痛并快乐,虽然程序中bug很多,但找出bu...

黑马程序员——我理解的设计模式

软件方法都是为了在需求变化时以最小的代价解决问题。实际上,整个人类社会都是一直进行着企图用最小的代价满足需求变化的过程。 变化主要体现在两个场景,一是新建,二是维护。两者的本质是一样的,都是...

黑马程序员——IO流(字符流、包装设计模式)

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ IO流(BufferedWriter) 字符流的缓冲区: 对应类 Buffer...

黑马程序员——protocol的基本使用和代理设计模式

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1、protocol的用途     1)用来声明方法(不能声明成员变量)   ...

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

单例设计模式

黑马程序员——设计模式

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 设计模式 一工厂设计模式 1、作用 工厂设计模式的作用:有一个专门用于生产对象的方法。 ...
  • toypaoe
  • toypaoe
  • 2015年10月17日 14:54
  • 110
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——程序设计模式
举报原因:
原因补充:

(最多只允许输入30个字)