首页 > 解决方案 > 图书馆类的单身人士

问题描述

我有一个里面有一个类的罐子。我将一个 jar 作为库添加到项目中。类是公共的并且具有公共构造函数。有必要确保类将在单个实例中初始化。如何在不更改 jar 文件的情况下做到这一点?

标签: javajarsingletonlib

解决方案


如果 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;
    }
}

推荐阅读