设计模式–饿汉模式,懒汉模式
什么是设计模式
单例实现的方式
饿汉单例设计模式
饿汉模式代码
package StaticDemo2;
public class Singleninstance {
/*
*目标:学会使用饿汉单例方式定义单例类
* 定义一个公开的静态成员变量存储一个类的对象
* 饿汉:再这里加载静态变量的时候就会创建对象了
*
* */
public static Singleninstance instance = new Singleninstance();
/*
* 把构造器私有起来
* */
private Singleninstance(){
}
}
package StaticDemo2;
public class test {
public static void main(String[] args) {
Singleninstance s1 = Singleninstance.instance;
Singleninstance s2 = Singleninstance.instance;
Singleninstance s3 = Singleninstance.instance;
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println((s1 == s2));
}
}
结果说明
总结
懒汉单例设计模式
代码说明
package StaticDemo2;
// 懒汉设计模式
public class Singleninstance2 {
// 创建一个静态成员变量存储本类的对象,注意:此时不能初始化对象
public static Singleninstance2 instance; // null
// 私有构造器
private Singleninstance2(){
}
// 定义一个方法,让其他地方可以来调用获取一个对象
public static Singleninstance2 getInstance2(){
if (instance == null){
// 第一次来获取对象
instance = new Singleninstance2();
}
return instance;
}
}
package StaticDemo2;
public class test {
public static void main(String[] args) {
Singleninstance2 s1 = Singleninstance2.getInstance2();
Singleninstance2 s2 = Singleninstance2.getInstance2();
Singleninstance2 s3 = Singleninstance2.getInstance2();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s1==s2);
}
}
结果演示
总结
参考
黑马程序员