1.饿汉式单例

public class A {
//2.定义一个静态私有变量记住类的一个对象
private static A a=new A();
//1.私有构造器
private A(){
}
//3.定义一个类方法返回对象
public static A getObject(){
return a;
}
}
public class A{
public static void main(String[] args){
A a1=A.getObject();
A a2=A.getObject();
System.out.println(a1);
System.out.println(a2);
}
}
a1,a2的地址相同

2.懒汉式单例

public class B {
//1.定义一个类变量,用于存储类的一个对象
private static B b;
//2.私有构造器
private B(){
}
//3.提供一个类方法,保证第一次调用时才创建一个对象
public static B getObject(){
if (b == null){
b=new B();
}
return b;
}
}
public class Test{
public static void main(String[] args){
B b1=B.getObject();
B b2=B.getObject();
System.out.println(b1);
System.out.println(b2);
}
}
b1,b2地址相同
