用Java 要求定义一个类AA,该类AA只能被实例化为一个唯一的对象

对应的公共类和main函数定义如下:
public class Main
{

public static void main(String[] args) {

    AA o1 = AA.getInstance();

    AA o2 =AA.getInstance();

    if (o1.equals(o2)) {

        System.out.println("o1 and o2 are the same object!");

    }

}

}

单例模式任意一种写法就行

第一种写法
public class AA {
    private static AA instance;
    private AA(){

    }
    public static AA getInstance(){
        if(instance==null){
            instance=new AA();
        }
        return instance;
    }
}
第二种:
public class AA {
    private static AA instance;
    private AA(){
        System.out.println("Singleton has loaded");
    }
    public static AA getInstance(){
        if(instance==null){
            synchronized (AA.class){
                if(instance==null){
                    instance=new AA();
                }
            }
        }
        return instance;
    }
}

随便搜一搜单例模式 一大堆