Dev*_*wal 2 java naming netbeans constants naming-conventions
我使用的是NetBeans IDE,在Java之前,我是一名C++程序员.从C++开始,我学到的是常量变量名应该只包含大写字母.我认为大多数编程语言都认为常量变量应该只包含带下划线的大写字母来分隔单词.
当我尝试static使用小写字母声明成员变量时,我的IDE NetBeans仅向我发出警告.如果变量是final,但是非静态的,这没关系.
final int mem1 = 90; // no warning
static final int mem2 = 90; // warning
Run Code Online (Sandbox Code Playgroud)
程序员不应该强制使用大写字母来命名任何类型的(静态,非静态)常量变量吗?
final 不会使值成为常量,它只是意味着该字段的值只能分配一次.
这是一个非常数最终字段的示例:
public final class IntHolder {
private final int value;
public IntHolder(int value) {
this.value = value;
}
public int get() {
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,value每个实例的字段明显不同IntHolder,因此它不是常数.将该字段命名为常量只会导致混淆.