Java 库类中的单例
我有一个罐子,里面有一个类。我将jar作为库添加到项目中。类是公共的,并且具有公共构造函数。必须确保在单个实例中初始化该类。如何在不更改jar文件的情况下执行此操作?如果jar类是公共构造函数的公共类,则无法阻止其他人创建新实例 您可以使用单例包装类使公共类不那么明显:Java 库类中的单例,java,jar,singleton,lib,Java,Jar,Singleton,Lib,我有一个罐子,里面有一个类。我将jar作为库添加到项目中。类是公共的,并且具有公共构造函数。必须确保在单个实例中初始化该类。如何在不更改jar文件的情况下执行此操作?如果jar类是公共构造函数的公共类,则无法阻止其他人创建新实例 您可以使用单例包装类使公共类不那么明显: public class MyClass extends JarClass { private static MyClass instance = new MyClass(); private MyClass
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;
}
}
一种方法是将构造函数设为私有,并使用公共工厂方法创建类的单个实例谢谢您的回答,但我认为我无法更改jar文件。UPD:我在问题中添加了这个信息