问题描述
我有一个罐子,里面放着一个类。我将一个jar作为库添加到项目中。类是公共的,并且具有公共构造函数。有必要确保将在单个实例中初始化类。如何在不更改jar文件的情况下做到这一点?
解决方法
如果jar类是使用公共构造函数公开的,则无法阻止其他人创建新实例。
您可以使用单例包装器类使公共类不那么明显:
public class MyClass extends JarClass {
private static MyClass instance = new MyClass();
private MyClass(){ super(); } // create instance of jar class
public static MyClass getInstance(){
return instance;
}
}