黑马程序员---单例模式
来源:互联网 发布:北京快3遗漏数据统计 编辑:程序博客网 时间:2024/06/05 19:38
------- android培训、java培训、期待与您交流! ----------------
设计模式,为了解决开发中的实际问题出现的思想
单例:解决一个类的对象,在内存的唯一性。这个类的对象,只有一个
实现单例设计模式的步骤:
A. 私有修饰构造方法
B. 在本类的成员位置,new自己类的对象
C. 提供一个静态方法,返回本类的对象
如果其他程序,需要这个类的对象,不能去new ,通过方法的返回值,获取该类对象
饿汉式:
package cn.itcast;/* * 此类实现一个单例设计模式 * 要求Single类的对象,是唯一的 * 饿汉式 */public class Single {//私有构造方法private Single(){} //自己类的成员位置上,创建自己类的对象private static final Single s = new Single();//提供一个公共方法,静态的,返回这个变量spublic static Single getInstance(){return s;}}
懒汉式:
public class Single{//私有构造方法private Single(){}//类的成员位置,定义本类类型的变量,但是不建立对象private static Single s = null;//对外提供公共的静态方法,返回对象public static Single getInstance(){if(s == null)//建立本类的对象s = new Single();return s;}}
测试类:
package cn.itcast;/* * 测试一下单例模式Single类 */public class SingleTest {public static void main(String[] args) {//获取、Single类的对象,使用静态方法,获取Single s = Single.getInstance();System.out.println(s);Single s1 = Single.getInstance();System.out.println(s1);}}
打印结果如下:
cn.itcast.Single@72ebbf5c<a target=_blank href="mailto:cn.itcast.Single@72ebbf5c">cn.itcast.Single@72ebbf5c</a>
由打印结果可见s和s1的哈希值相同,
内存中只创建了一个实例对象,S 和S1两个引用指向一个实例对象
------- android培训、java培训、期待与您交流! -----------------
0 0
- 黑马程序员-单例模式
- 黑马程序员--单例模式
- 黑马程序员-------单例模式
- 黑马程序员--单例模式
- 黑马程序员-单例模式
- 黑马程序员--单例模式
- 黑马程序员--单例模式
- 黑马程序员-单例模式
- 黑马程序员-单例模式
- 黑马程序员-单例模式
- 黑马程序员---单例模式
- 黑马程序员-----单例模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员 单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例模式
- Oracle 11g表空间dbf文件迁移
- nginx 总结 【问题解决】
- html5 概览
- python mysql中查询数据,结果中文显示乱码
- python 下划线的使用(转载:安生犹梦 新浪博客)
- 黑马程序员---单例模式
- python 编码问题
- 利用python 获取 windows 组策略
- 正则表达式
- ubuntu 下搭建vsftp
- linux 查看端口是否被占用
- python 编码问题(二)
- python各种类型转换-int,str,char,float,ord,hex,oct等
- python os.stat() 和 stat模块详解