gpt4 book ai didi

java - 如何在java中正确创建带有静态变量的配置类?

转载 作者:行者123 更新时间:2023-11-30 08:25:39 25 4
gpt4 key购买 nike

我创建了 SomeConfig 来存储静态数据。但是我试图理解女巫的选择更好(或者两者都不是)

在我编写 SomeConfig 类之前:

public class SomeConfig {

private static int mValue = 8;
private static String mString = "some String";

public static int getValue() {
return mValue;
}

public static void setValue(int value) {
mValue = value;
}

public static String getTheString() {
return mString;
}

public static void setValue(String theString) {
mString = theString;
}
}

现在我把它改成了:

 public class SomeConfig {
private static SomeConfig mSomeConfig = new SomeConfig();

private int mValue = 8;
private String mString = "some String";

public static int getValue() {
return mSomeConfig.mValue;
}

public static void setValue(int value) {
mSomeConfig.mValue = value;
}

public static String getTheString() {
return mSomeConfig.mString;
}

public static void setValue(String theString) {
mSomeConfig.mString = theString;
}
}

通常我将私有(private)变量更改为非静态变量,但 API 保持不变。

我发布的两个选项有什么区别?

谢谢,

最佳答案

如果您只希望 SomeConfig 的一个实例存在于您的应用程序中,那么您可能希望将其设为单例类。请参阅此链接:link

您的第二个选项似乎最接近单例,您只需要将默认构造函数设为私有(private)以确保没有其他类可以创建 SomeConfig 的另一个实例。

关于java - 如何在java中正确创建带有静态变量的配置类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102248/

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