Java、常量类的接口(interface)或组合

标签 java class-constants

我对程序的设计有疑问。我有一个类 A 存储公共(public)常量,以便我可以在另一个类中使用这些常量。

public static final String error_code1 = "Fatal Error";
public static final String error_code2 = "XXXX";
...
...

在组合与界面之间,我不知道哪一个更合适。从我的想法来看,由于我只需要在程序中进行值比较的常量,所以我认为组合就足够了(低耦合)。

但是你们能从软件设计的角度给我一些建议/论点吗? (内聚性、耦合性、维护难度等)

最佳答案

首先,我建议您在这种情况下使用枚举。

public enum ErrorCode {
    FATAL_ERROR("Fatal Error"),
    X_ERROR("XXXX");

    public final String msg;
    private ErrorCode(String msg) {
        this.msg = msg;
    }
}

如果由于某种原因这不适合您,我会选择带有私有(private)(未使用)构造函数的 final 实用程序类。

无论如何,由于这些字段是静态的和最终的,我不会考虑引用 A 或实现 A 来获取常量。

关于Java、常量类的接口(interface)或组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062311/

相关文章:

php - 我可以在 PHP 类上定义 CONST 吗?

c# - 访问嵌套的静态常量

java - 一个循环,要求输入一定数量的数字并输出其中有多少个是偶数

java - 如何检查DELETE API是否被调用

Java 运行时常量池移除

PHP:常量和按位分隔符作为方法的默认参数

delphi - 从 Delphi 中的类引用变量访问类常量

java - 提交表单onclick时转义javascript中的值

java - 当鼠标悬停在 swt 表列上时设置光标图标

java - 我可以用一个 catch 捕获多个 try 语句吗?在 java