黑马程序员——程序设计模式
2015-07-08 13:44
253 查看
一、单例设计模式
设计模式的概念:解决某一问题最行之有效的方法。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中共有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()方法时,才创建对象。
完整代码如下:
相关文章推荐
- PHP笔记——java程序员看懂PHP程序
- 黑马程序员—Java集合框架及Java中的几个工具类
- 面试题35:第一个只出现一次的字符
- 黑马程序员————第二十天
- 黑马程序员——OC—类方法及匿名类
- 程序员必读的六本书
- 程序员必读的六本书 2015-07-08 11:26 21人阅读 评论(0) 收藏
- 黑马程序员——JAVA笔记——LOCK
- 国外程序员常去的14个顶级开发社区
- 【转载】2015Android 面试题 01
- 面试题45:圆圈中最后剩下的数字
- 大公司最喜欢问的Java集合类面试题
- 面试知识点总结01
- php相关问题学习(以备面试)
- 黑马程序员——OC—类和对象的使用
- [异能程序员]第一章 酒后事发,上头条
- 解析程序员的几个成长阶段
- 对程序员非常重要的24个软技能
- 黑马程序员——Java基础---String
- 黑马程序员---Java基本语法(二)