使用方法声明常量是不好的形式?

时间:2017-12-03 21:07:53

标签: java constants

我进行了搜索,找不到涵盖此特定主题的任何其他主题。

    public static final Path DIR  = ROOT.resolve(NAME);

有什么理由认为这是不好的做法吗?

2 个答案:

答案 0 :(得分:3)

主要问题是具有此常量的类与ROOT的类型之间的紧密耦合。

因此,如果DIR是在编译时未知的内容,则它应注入到类中(最好作为构造函数参数)并保存在private final中(但不是 static )成员。

答案 1 :(得分:1)

你做了什么,是一个全局变量的声明。这本身就是不好的做法。我宁愿建议将此变量声明为private并在类的构造函数中初始化它,该构造函数将仅被授予对该目录(?)进行操作的责任。考虑目录路径计算方法将改变的情况。它会影响使用此变量的所有其他类。因此,最好限制任何负面影响。