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

原创 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()方法时,才创建对象。

完整代码如下:




黑马程序员骗局

最近看到网上的一篇帖子:“传智播客旗下黑马程序员就业骗局,企业封杀遇到了骗子培训” 。    黑马程序员面对诋毁,诽谤,真的想置之不理,让谣言自生自灭。看看那篇帖子的发布时间大概在2013年或者2...
  • itcast_cn
  • itcast_cn
  • 2016年09月05日 15:22
  • 3345

黑马程序员--Spring框架方方面面之…

--------
  • li951418089
  • li951418089
  • 2015年12月24日 10:25
  • 613

黑马程序员—马上快毕业了,给你们点建议吧

文章来源:黑马程序员,黑马论坛 首先就是基础重要不重要,这个不好做定论,因为看你需要掌握的程度,黑马这边的课程需要基础在视频里都有,老毕的25天和张老师的高新技术,这些全部会用到,把这些全看熟了,并...
  • heima_28
  • heima_28
  • 2014年08月26日 15:13
  • 712

黑马程序员:Hibernate基础知识

android培训、java培训
  • u012159707
  • u012159707
  • 2013年09月26日 15:42
  • 609

用设计模式固化C#程序

译序: C#进阶文章。译者对Samir提供的C#例子进行了简单整理(作者提供的某些代码在译者的环境中无法通过编译),并编写了对应的C++示例,一并置于译注中,以便读者比对。译文中所有C#、C++程序调...
  • ForeverIcePoint
  • ForeverIcePoint
  • 2007年03月30日 15:27
  • 491

GRASP模式——面向对象的基本设计模式

GRASP模式:五个基本模式:Information Expert, Creator, High Cohesion, Low Coupling, and Controller四个扩展模式:Polymo...
  • songwater
  • songwater
  • 2004年08月27日 10:44
  • 1716

黑马程序员-java就业面试题大全(持续更新)

1、一个"java"源文件中是否可以包含多个类()?
  • zj3911507
  • zj3911507
  • 2014年06月20日 16:32
  • 1944

程序设计模式

1、MVC设计模式:Model 模型层—View视图层—Controller控制器层 1》M  : Model    模型层—》处理数据,业务逻辑,游戏逻辑,网络通信,对应用程序建模 2》...
  • michaelKiven
  • michaelKiven
  • 2015年10月16日 08:47
  • 232

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!

编程语言Java,已经21岁了。从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的。Java应用的广泛已...
  • itcast_cn
  • itcast_cn
  • 2016年10月18日 17:44
  • 1472

黑马程序员--Oracle学习_day06

----------  android培训 、java培训、期待与您交流! ---------- 学习目标:1,理解oracle的pl/sql的概念   2,掌握pl/sql编程技术(...
  • xpaibeyond
  • xpaibeyond
  • 2015年01月16日 14:28
  • 220
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——程序设计模式
举报原因:
原因补充:

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