java中只能有一个实例的类的创建

时间:2022-01-17 20:15:54

Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以

    1:把该类的构造方法设计为private

    2:在该类中定义一个static方法,在该方法中创建对象

package test;

/*
* 有时候我们希望一个类在任何时候都只有一个实例,这时候可以把该类设计为单例模式。
* 要将一个类设计为单例模式,需要:
* 1:把该类的构造方法的访问修饰符生命为private
* 2:然后在该类中定义一个static方法,在该方法中创建类的对象
*
* */
public class Singleton {
private static final Singleton INSTANCE = new Singleton(); //私有成员
private int a = 0;//私有成员 private Singleton(){}//构造方法
public static synchronized Singleton getInstance(){//类的方法
return INSTANCE;
}
public void methodA(){ //成员方法
a++;
System.out.println("a = "+a);
}
public static void main(String[] args){ //主方法
Singleton sg1 = Singleton.getInstance();
Singleton sg2 = Singleton.getInstance();
sg1.methodA();
sg2.methodA();
System.out.println(sg1 == sg2);
} }