java中如何让一个类只能实例一次

2024-12-18 18:00:40
推荐回答(2个)
回答1:

可以简单的实现一个单例模式,例如:
public class Singleton {
private static Singleton uniqueInstance = new Singleton();
private Singleton(){}
public static Singleton getInstance() {
return uniqueInstance;
}
}
这里Singleton类的构造方法私有化,故无法随意构建该类的实例,只能通过公共的getInstance方法来获得该类的实例,该方法返回的是静态的成员变量uniqueInstance,静态成员变量在内存中是仅有一份的,或者说是被共享的,从而保证了该类仅有一个实例。即对于该类的任意两个引用Singleton s1; Singleton s2; 只要不为null, s1==s2必定为true。

回答2:

把类的构造方法设为私有,再提供一个取得实例的方法,具体的你可以搜下单例模式