我有一种带有静态构造函数的“单例”实现的现有设计。我希望能够销毁并重新创建新实例。
这可以在不改变基础设计的情况下完成吗?
这是简化的原型:
public static void main(String[] args) {
ClassA.doWork();
ClassA.destruct();
ClassA.doWork(); // <--I need new instance here
}
public class ClassA {
private static ClassA inst = new ClassA();
protected ClassA() {
//init
}
public static void doWork(){
//do work
}
public static void destruct(){
inst = null;
}
}