黑马程序员技术交流社区
标题:
Java面向对象笔记(单例设计模式)
[打印本页]
作者:
Johnny_Hu
时间:
2015-3-10 21:05
标题:
Java面向对象笔记(单例设计模式)
思想:
对象的唯一性(解决一个类在内存只存在一个对象)
1、为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象;
2、还为了让其他程序可以访问到该类对象,只好在本类中,自定义对象;
3、为了方便其他程序对自定义的访问,可以对外提供一些访问方式。
代码步骤:
1、将构造函数私有化
2、在类中创建一个本类对象
3、提供一个方法可以获取到该对象
注意:
对于事物该怎么描述,还是怎么描述
当需要将该事物的对象保证在内存中唯一性时,就将以上的三部加上即可
下面是例子
package com.hupingyan.Static;
class DesginTool
{
private int num;
public void setNum(int num)
{
this.num = num;
}
public int getNum()
{
return num;
}
//单例设计模式三部曲 Start
private DesginTool(){}
private static DesginTool desgin = new DesginTool();
public static DesginTool getObject()
{
return desgin;
}
//单例设计模式三部曲 End
}
public class Desgin {
public static void main(String[] args)
{
DesginTool aa = DesginTool.getObject();
DesginTool aa1 = DesginTool.getObject();
aa.setNum(50);
System.out.println(aa.getNum());
System.out.print(aa1.getNum());
}
}
复制代码
作者:
Johnny_Hu
时间:
2015-3-10 21:31
单例设计模式可以分为饿汉式和懒汉式
饿汉式:single 类一进内存,就已经创建好了对象
例子:
class single
{
private single(){}
private single s = new single();
public static single getSingle()
{
return s;
}
}
复制代码
懒汉式:single类进内存,对象还没存在,只有调用了getSingle方法时,才建立对象。
例子:
class single
{
private single(){}
private static single s = null;
public static single getSingle()
{
if(s==null)
{
s = new single();
}
return s;
}
}
复制代码
一般开发中用饿汉式 ,而懒汉式面试时会碰到
作者:
袁丙轩
时间:
2015-3-10 21:37
学习了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2