单例设计模式,是我们常见的一种设计模式,今天看到了这个,便把它写了下来:
单例设计模式有两种,一种是懒汉模式,一种是饿汉模式!
两种模式各有特点:
先上代码,结合代码讲解更好:
懒汉模式:
public class Demo
{
private static Demo INSTANCE=new Demo();
private Demo(){}
public static Demo getDemo()
{
return INSTANCE;
}
}
这种模式想要获取这个单例,只有通过静态方法getDemo得到,这里的INSTANCE利用封装的特性变得如常量一般,只能new一次,也就是说这个单例,在堆内存中,它的地址是不会变化的
饿汉模式:
class Demo
{
private Demo(){}
public static final Demo INSTANCE = new Demo();
}
饿汉模式则是直接将定义一个静态常量单例类,这里的INSTANCE也是不能在new 的,因为常量只能被赋值一次!
OK!!这就是两种模式了,THANK!! |
|