是否可以创建具有大量静态字段的Constants类?

Aug*_*hoo 4 java oop class constants

假设我有一个包含200多个静态字段的常量类:

class AnimalConstants {
  static final int AARDVARK = 1;
  static final int ANTELOPE = 2;
  static final int BEAR = 3;
  ...
  ...
  static final int ZEBRA = 200;
}
Run Code Online (Sandbox Code Playgroud)
  • 任何人都可以解释使用这些类是否对性能和内存有任何负面影响.
  • 如果将类更改为接口(例如SwingConstants)并由某些类实现,那会更好还是更糟?
  • 如果我将常量实现为Enum类,会更好还是更糟?

duf*_*ymo 7

我认为影响不是表现或记忆.

我认为这与代码的可读性,保持常量接近它们的位置以及对问题的基本理解有关.

我更喜欢将常量声明为更接近它们使用的位置.我相信他们更容易理解这种方式.

如果您声称数字200+的真实常数真正相关,我会感到惊讶. 如果是,他们就在一个地方.如果没有,我会说他们应该被分成更小的部分,并宣布更接近他们使用的地方.

我敢打赌,如果知道的话,会有更多的背景,而不是你设想的例子.

当然,枚举很棒.但请先看看我的其他评论.