您的位置:首页 > 编程语言 > Java开发

java设计模式:单例模式

2016-09-23 00:00 323 查看

java设计模式:单例模式

单例模式的两种情况:

饿汉模式

public class Demo{
// 1 创建私有化的构造方法  外部就不能 直接访问了 就不能直接实例化当前类对象了
private Demo(){

}
// 2 创建 静态变量 用来保存对象内存地址的  注意数据类型 要和类名相同,因为内存地址是类名数据类型的
private static Demo demo = null;
//静态方法 , 让外部 可以通过调用这个方法  就能 实例化这个类对象
public static Demo getdemo(){
//我只想让它实例化一次 所以判断 ,当我demo 为空的时候,在执行以下java语句,当demo 不为空的时候,就跳过,直接输出后面的java语句
if (demo ==null) {
demo  = new a();//实例化当前类对象 并赋值给 demo
return demo ;//返回值,把demo 里面的内存地址 返回到方法名 外部直接调用方法,就能获取本类的内存地址
}
return demo ;//当demo 不为空的时候,就直接返回值 把 demo 返回到方法名  所以 这个类的对象,只实例化了一次吧
}
}


懒汉模式

public class Demo{
private Demo(){//私有化无参构造

}
private static Demo demo = new Demo();  //声明静态变量 并赋值 值为本类的内存地址
public static Demo getdemo(){//静态方法  外部可以通过调用次方法 获得本类的内存地址
return demo ;//返回值 demo demo 保存的是内存地址  所以返回 demo   就能把内存地址 返回到方法 外部就能使用了
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息