gpt4 book ai didi

java - 避免处理 config.properties 的 Java 类文件中的静态方法和变量

转载 作者:搜寻专家 更新时间:2023-11-01 02:06:06 24 4
gpt4 key购买 nike

我正在开发一个简单的 Java 应用程序,我创建了一个名为 Config.java 的类来处理应用程序属性,从而避免硬编码。

Config.java 类不是静态类,我正在另一个名为 Serial.java 的类中创建 Config.java 类的实例。

main 方法位于另一个名为 App.java 的类中。所以我总共有 3 个类:

  • App.java
  • Serial.java (Config 类的实例作为私有(private)变量位于此处)
  • 配置.java

在这个阶段,一切都很好,OOP 设计中没有缺陷。但是,我需要创建另一个类,我必须在其中调用 Config.java 类的方法。为了只有 Config.java 的一个实例 类,最好的方法是什么:

  1. 将 Config.java 类的方法从公共(public)方法更改为静态方法?
  2. 正在为位于 Serial.java 类中的 Config 实例创建 getter 和 setter?

为了实现我的目标,我可以使用更多的选择/技术吗?

非常感谢任何帮助或建议。

最佳答案

听起来像是 dependency injection 的工作


这听起来像是在 Serial 中实例化 Config:

class Serial {
private Config config = new Config();
}

与其在 Serial 中创建它,不如将其传入:

Config config = new Config();
Serial serial = new Serial(config);

Serial 类看起来像:

class Serial {
private Config config;

public Serial(Config config) {
this.config = config;
}
}

这样你也可以将它传递给必须从 Config 调用方法的其他对象:

OtherObj other = new OtherObj(config);

OtherObj 定义为:

class OtherObj {
private Config config;

public OtherObj(Config config) {
this.config = config;
}
}

这很好地帮助您避免静电。

关于java - 避免处理 config.properties 的 Java 类文件中的静态方法和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32745685/

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