你如何在Java中定义一个常量类?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (92)

假设你需要定义一个类,它所做的只是常量。

public static final String SOME_CONST = "SOME_VALUE";

这样做的首选方式是什么?

  1. Interface
  2. Abstract Class
  3. Final Class

我应该使用哪一个,为什么?

枚举 - 我不打算使用枚举,我没有枚举任何东西,只是收集一些不相关的常量。

接口 - 我不打算将任何类设置为实现接口的类。只是想使用这个接口来调用像这样的常量:ISomeInterface.SOME_CONST

提问于
用户回答回答于

使用final class.。为了简单起见,您可以使用静态导入来重新使用另一个类中的值

public final class MyValues {
  public static final String VALUE1 = "foo";
  public static final String VALUE2 = "bar";
}

in another class:

import static MyValues.*
//...

if(variable.equals(VALUE1)){
//...
}
用户回答回答于

澄清声明:“我不打算使用枚举,我没有枚举任何东西,只是收集一些常量,而这些常量在任何方面都不相关。”

如果常数根本不相互关联,为什么你想一起收集它们?将每个常量放在与其最密切相关的类中。

扫码关注云+社区