图书馆类的单身人士

Posted

技术标签:

【中文标题】图书馆类的单身人士【英文标题】:Singleton from library class 【发布时间】:2020-09-29 15:48:24 【问题描述】:

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

【问题讨论】:

一种方法是将构造函数设为私有,并使用公共工厂方法创建类的单个实例 感谢您的回答,但我想我无法更改 jar 文件。 UPD:我将此信息添加到问题中 【参考方案1】:

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

【讨论】:

以上是关于图书馆类的单身人士的主要内容,如果未能解决你的问题,请参考以下文章

与清华出版社Java图书合同履约纪实

JavaWeb网上图书商城完整项目--21.用户模块各层相关类的创建

给大家再重复推荐一些管理类的图书

从一个类到另一个类的 ArrayList

基于Android平台的图书管理系统的制作

UNIX网络编程的清华大学出版社出版图书