常量对象的命名约定Java



对于常量基元类型和类似对象的数据结构(字符串、基元的对象版本),约定似乎是用下划线分隔单词的全大写。这种约定会延续到线程池之类的东西吗?

示例:

public static final int MAX_SPEED = 500;
public static final ExecutorService THREAD_POOL = Executors.newCachedThreadPool();

在Java中,常量变量使用"static final"修饰符声明。此类变量必须仅包含UpperCase字符,并且必须使用'_'分隔多个单词。

1   static final char END_OF_FILE = 'e';
2   myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

创建约定只是为了提高代码的可读性。所以你可以选择使用它们还是离开它们。但如果你真的使用它们,你的代码看起来会很专业。Java编译器确实希望您使用这些约定。但在某些语言中,变量的命名方式会向编译器指示它是什么类型的变量。例如,在Ruby中,要声明一个常量变量,必须仅使用Uppercase作为变量的整个名称。Ruby编译器只能用这种方式识别常量变量

有关更多详细信息,

静态最终变量的Java命名约定

我不认为有任何这样的约定或规则。但是,是的,作为一种很好的做法,人们遵循你所做的,名字是全大写的,单词之间用下划线分隔。

这种约定会延续到线程池之类的东西吗?

是的,你可以遵循这个。

来自JLS:

6.8.5常量名称

接口类型中常量的名称应为和final类类型的变量通常可以是一个或更多单词、首字母缩写词或缩写词,全部大写,带组件用下划线"_"字符分隔。常量名称应为描述性的,而不是不必要的缩写。按照惯例,他们可能是任何合适的词性。常量名称示例包括类的MIN_VALUE、MAX_VALUE,MIN_RADIX和MAX_RADIX性格

我会说这完全是一个偏好的问题。

最新更新