目录
一、饿汉式
是立刻加载的方式,无论是否会用到这个对象,都会加载
package eh;
/**
* 单例模式:饿汉式
* 是立刻加载的方式,无论是否会用到这个对象,都会加载
* @author 惊蛰
*
*/
public class Boss {
//1.私有静态属性
private static Boss boss=new Boss();
//2.构造方法私有化
private Boss() {
}
//提供公共静态接口
public static Boss getInstance() {
return boss;
}
}
package eh;
public class Test {
public static void main(String[] args) {
Boss boss1=Boss.getInstance();
Boss boss2=Boss.getInstance();
System.out.println(boss1);
System.out.println(boss2);
}
}
二、懒汉式
延迟加载的方式,只用使用时才会全部加载
package lh;
public class Boss2 {
/**
* 单例模式:懒汉式,延迟加载的方式,只用使用时才会全部加载
*/
//私有化静态变量
private static Boss2 boss;
//私有化构造方法
private Boss2() {
System.out.println("私有化构造方法");
}
//提供公共静态接口0
public static Boss2 getInstance() {
if(null==boss) {
boss=new Boss2();
}
return boss;
}
}
package lh;
public class Test {
public static void main(String[] args) {
Boss2 boss1=Boss2.getInstance();
Boss2 boss2=Boss2.getInstance();
System.out.println(boss1);
System.out.println(boss2);
}
}