黑马程序员 第15天 单例设计模式
2014-03-31 20:44
197 查看
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
单例设计模式:解决一个类在内存只存在一个对象
想要保证对象唯一
1.为了避免其他程序过多建立该对象,先禁止其他程序建立该类对象
2.还为了让其他程序可以访问到该类对象,只好在本类中,自动以一个对象
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
1.将构造函数私有化
2。在类中创建一个本类对象
3.提供一个方法可以获取到该对象
当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可
饿汉式
class Single
{
private static Single s = new Single();
private Single (){}
public static Single getInstance()
{
return s;
}
}
懒汉式
class Single
{
private static Single s = null;
private Single (){}
public static Single getINsance()
{
if (s==null)
{
s = new Single();
}
return s;
}
}
//饿汉式 Single类一进内存就创建好了
//对象是方法被调用时,才初始化,也叫做对象的延时加载,成为懒汉式
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
//开发一般用饿汉式
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
单例设计模式:解决一个类在内存只存在一个对象
想要保证对象唯一
1.为了避免其他程序过多建立该对象,先禁止其他程序建立该类对象
2.还为了让其他程序可以访问到该类对象,只好在本类中,自动以一个对象
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
1.将构造函数私有化
2。在类中创建一个本类对象
3.提供一个方法可以获取到该对象
当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可
饿汉式
class Single
{
private static Single s = new Single();
private Single (){}
public static Single getInstance()
{
return s;
}
}
懒汉式
class Single
{
private static Single s = null;
private Single (){}
public static Single getINsance()
{
if (s==null)
{
s = new Single();
}
return s;
}
}
//饿汉式 Single类一进内存就创建好了
//对象是方法被调用时,才初始化,也叫做对象的延时加载,成为懒汉式
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
//开发一般用饿汉式
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
相关文章推荐
- 一个IT从业人员的职业道德与素养
- 做为程序员对sql进行的性能优化
- C-sharp精华面试题
- 面试-事务属性小结和事务的隔离级别
- 黑马程序员java基础语法1
- Mac开发利器之程序员编辑器MacVim学习总结
- 前端面试
- 人生第一次面试的感想
- 老程序员的下场
- 剑指offer:面试的基础知识(二)
- 大学生面试着装要求(男生篇)
- 剑指offer:面试的基础知识(一)
- 春暖花开日,正是读书时——4月推荐给程序员们的书
- 男士面试的着装技巧
- 传奇图形程序员Michael Abrash加盟Oculus与卡马克团聚
- [转]一位研究生的职业生涯规划和心得体会
- [ZT]如何提升IT人员职业价值
- 一位39岁程序员的困惑:知道得越多编程越慢怎么办?
- 艺人劈腿是不是职业病?
- 《黑马程序员》 synchronized互斥应用总结