过去几天我一直在引用Sun的文档中的这一部分,现在我才停下来思考它的内容,我无法理解它。请记住,英语不是我的第一语言。
变量:除变量外,所有实例,类和类常量都是大小写混合,带有小写的第一个字母。
这有什么意义?这不是说这个类名是小写的首字母大小写的吗?就像我应该命名class myClass
一样?类常量也是大小写的首字母大小写的混合大小写?与Integer.MAX_VALUE
不同,它应该被命名为integer.maxValue
?
它是否真的在说变量本身应如何命名?
我没有正确解析这个或者这实际上是一个明显的错误吗?
答案 0 :(得分:4)
Sun已将此视为错误,优先级较低:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4311597
描述命名变量的约定(表中的倒数第二行)。这显然是错的 - 上课 常量不是大小写混合,如表中的下一行所示。什么是“除了变量” 商业?文本假设描述变量!!
文字应为:
“所有实例和类变量都混合在一起......”
因此删除“除变量”和“类常量”之外的单词
答案 1 :(得分:3)
这上面有几个方框:
类名应该是名词,大小写混合,每个内部单词的首字母大写。尽量保持您的类名简单和描述性。使用整个单词 - 避免缩略语和缩写(除非缩写比长格式更广泛使用,例如URL或HTML)。
class Raster;
class ImageSprite;
以下:
声明类常量和ANSI常量的变量名称应全部为大写,并用下划线(“_”)分隔。 (为了便于调试,应避免使用ANSI常量。)
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;
矛盾,不是吗? “类常量”应该从那个变量约定语句排除,即使它们意味着public final
类型的非静态常量,因为它会让人感到困惑。
至于“变量除外”,我认为它们意味着原始local variables应该只有一个词。
答案 2 :(得分:2)
这几乎可以肯定是实际意义上的严重编辑版本:
变量:所有变量名称 (不包括常数)是混合的 小写第一个字母的情况。
答案 3 :(得分:1)
您需要阅读整个内容以获取上下文:
除变量外,所有实例, class和类常量都在 首先是小写的混合大小写 信件。内部词开头 大写字母。变量名称应该 不要以下划线_或美元开头 签署$字符,即使两者都有 是允许的。
变量名称应该很短 有意义的。变量的选择 名字应该是助记符 - 也就是说, 旨在表明随意 观察者使用它的意图。 单字符变量名应该是 避免除了临时 “一次性”变量。俗名 临时变量是i,j,k, m和n表示整数; c,d和e代表 字符。
所以[本地]变量要短(意味着它们可能没有足够的“单词”来混合大小写)。
所有其他变量(实例或类级别的变量,非本地变量)都应该是混合大小写,并以小写字母开头(大概是“罗嗦”足以能够混合大小写,比如“lineNumber”而不是“number”);
编辑(忘了常数)。
在Java中查看常量有两种方法:
这样:
class Foo
{
public final int variable;
public final int CONSTANT;
static
{
variable = // generate a random number.
CONSTANT = 5;
}
}
这里“变量”是“常数”,因为一旦赋值,它就不能改变,但它不是像“CONSTANT”那样的常量,因为“CONSTANT”的值总是为5。
我认为#2是Java中唯一的常量。
编辑#2(回应下面的评论)。
我会把它重写为:
除局部变量外,全部 实例,类和类空白 决赛[我也可能会指出这一点 空白的最终没有了 单个编译时间值]在 首先是小写的混合大小写 信。
您可以查看http://www.codeguru.com/java/tij/tij0071.shtml了解更多信息。