gpt4 book ai didi

java - 如何在我的应用程序中使用一个对象实例

转载 作者:行者123 更新时间:2023-12-01 19:22:22 25 4
gpt4 key购买 nike

我有一个部门类。当我的应用程序加载(控制台应用程序)时,我想创建一个值为 HR 的部门实例和一个值为 Admin 的部门实例,然后我想在整个程序中使用这些实例。如何才能我在不同的类中到处使用相同的实例?例如,我从 csv 文件中读取员工,然后创建一个员工对象。现在要创建一个员工对象,我必须使用部门对象。我必须根据部门设置适当的值从文件中读取部门的值。如何操作

最佳答案

您正在寻找单例模式的实例,可以通过将构造函数声明为私有(private)并在 getter 中保留初始化的静态引用变量来实现该实例。类似于:

private static Department hr = null;

private Department() {
}

public static synchronized Department getHRInstance() {
if (null == hr) {
hr = new Department();
}
return hr;
}

在代码的其余部分中,您可以调用Department.getHRDepartment(),对于管理部门也是如此,它只是映射到第二个静态变量。 (对于超过 2 个单例,您可能需要考虑使用映射来存储实例或使用 Enum 类来定义单例。)

单例实例的缺点是依赖注入(inject)难以完成,使得构建 JUnit 测试变得困难或不可能。对于大多数使用的单例模式,实际上最好在初始化应用程序时初始化“单例”实例,并通过构造函数传递它们将它们传递给使用它们的类,或者创建一个在创建其对象后传递单例引用的对象工厂实例。

关于java - 如何在我的应用程序中使用一个对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com