2012-06-11 30 views
9

我的问题:常量Java变量(方法内)的名称是否应该是大写?我应该使用大写命名来声明java常量变量吗?

我一直的印象是

一)如果一个变量是永远不会改变,它应该声明为final(显示/执行,它不会改变) B)它应该在大写被命名

然而,我注意到在蚀,改变的方法(内)的变量时为最终/恒定的,并且随后重构/它重命名为类似下面:

final int NODE_COUNT = 3; 

我收到以下警告:

这个名字是不鼓励的。按照惯例,局部变量的名字应该以小写字母开头。

这让我怀疑大写规则是否不适用于这种情况(即方法中的最终变量)。

+1

不好意思,但其他人发现“常量变量”这个短语有趣吗? – PeteH

+2

在重读它之后,我意识到这是一个矛盾修饰,应该可能是最终变量(???),尽管除非我错了,一旦声明了最终变量,它就是最终的,所以在那一点上也变得不可变,再次使“最终变量”成为一个矛盾。有没有另外一种方式来描述这个? – Jonny

+1

+1 jonny,请不要想太难! – PeteH

回答

5

在你没有常量的方法中,你只有局部变量,可以是final。所以使用以小写字母开头的普通camelCase非常适合那里。

2

类常量也应该是static(使它们成为类级别而不是实例级别),在这种情况下,Eclipse不会警告您使用大写字母。

方法常量的标识符应该以小写字母开头,所以我同意你的结论。

+0

谢谢,尽管在添加'static'的方法中,我得到了一个'非法修饰符参数NODE_COUNT;只有final是允许的“错误,所以假定我不能在方法中使用static。 – Jonny

+0

@jonny你不能在任何方法中向变量添加静态修饰符(不管它是否静态)。方法是动态的 - 你有你的逻辑,所以它的一部分不能被定义为静态的....但是你可以使用你的类的静态文件,这些是常量。 – dantuch