什么时候应该在自己的文件中定义常量?

ins*_*sin 7 java class constants

我注意到一些项目喜欢将常量存储在他们自己的文件中,即全局和主程序循环中使用的常量可能会混乱主文件,所以他们可能会将它们放在别处,然后引用/导入文件/类.

我知道在编写一个OOP类时,你想要将所有常量保存在类文件的头部,以便可以静态引用它们:

myCar.setColour(Colour.RED);
Run Code Online (Sandbox Code Playgroud)

班级中RED的颜色常数在哪里Colour.

什么是于具有大量的常量的做法,他们应该只是你的主要文件的顶部或以任何方式明智的,有可能是ProgramConstants类,它是纯静态的,公共和可供阅读?

CKi*_*ing 6

拥有大量常量的好习惯是什么,如果它们只是位于主文件的顶部,或者是否有任何方式可能有一个ProgramConstants类

关于在何处放置常数的决定应该取决于常数的类型.

IntegerJDK中的类有一个常量调用MIN_VALUE,用于定义int的最小值.的Character类定义了一个名为常数MIN_VALUE以及其限定了炭的最小值.

将上述方法与WrapperConstants使用两个常量(即CHAR_MIN_VALUE和)定义全局类/枚举的方法进行比较INT_MIN_VALUE.你很快会增加更多的常量此文件的其他数据类型.( LONG_MIN_VALUE,FLOAT_MIN_VALUE等...)

当你还要定义时会发生什么MAX_VALUE?看看你班级爆炸的速度有多快?可读性如何?是WrapperConstants.CHAR_MIN_VALUE不是更具有可读性Character.MIN_VALUE?并不是的.

在与它们相关的类中定义常量是IMO的方法.也就是说,并非所有常量都属于Java类/接口/枚举.一些常量(例如错误消息)最好放在消息包/属性文件中.