2013-11-25 39 views
1

我认为这个问题是不言而喻的,但如果它不这里是我的意思了简短的解释:Java全局变量 - 声明的约定是什么?

编码一个java PROGRAMM,我应该采取什么样的约定来声明一个全局变量?我的意思是,我应该使用哪一个?

public class Variables { 

     private variable; 
     private Variable; 
     private VARIABLE; 

     private largerVariable; 
     private Larger_Variable; 
     private larger_variable; 
     private LARGER_VARIABLE; 
} 
+2

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367 –

+0

LARGER_VAR是大多数程序员更喜欢的一个 –

+0

@KamleshArya不正确。这是一个**坏**常数的名称。不是一个糟糕的变量:) – Maroun

回答

2

有一些规则:

  • 变量名称是区分大小写的。变量的名称可以是任何合法的标识符 - 一个以字母,美元符号“$”或下划线字符“”开头的无限长Unicode序列的字母和数字。但是,该公约始终以字母开头,而不是“$”或“”。此外,按照惯例,美元符号字符根本不会被使用。您可能会发现某些情况下自动生成的名称将包含美元符号,但您的变量名称应始终避免使用它。下划线字符存在类似的约定;尽管用“_”开始变量的名称在技术上是合法的,但这种做法是不鼓励的。不允许使用空格。
  • 后续字符可能是字母,数字,美元符号或下划线字符。公约(和常识)也适用于此规则。为变量选择名称时,请使用完整的单词而不是隐含的缩写。这样做会使您的代码更易于阅读和理解。在很多情况下,它也会使你的代码自动记录;例如,名为节奏,速度和齿轮的字段比缩写版本更直观,例如s,c和g。另外请记住,您选择的名称不能是关键字或保留字。
  • 如果您选择的名称只包含一个单词,请以全部小写字母拼出该单词。如果它包含多个单词,请将每个后续单词的首字母大写。 gearRatio和currentGear这些名称是这个约定的主要例子。如果你的变量存储了一个常量值,比如static final int NUM_GEARS = 6,那么约定略有变化,大写每个字母并用下划线分隔后续单词。按照惯例,下划线字符从来不会在其他地方使用。

从这里 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

如果我读了这些规则的权利,有效的名称(通过命名约定)将是:

private Object largerVariable; 
private Object LARGER_VARIABLE; 
+3

'LARGER_VARIABLE'应该用于常量。 –

+0

真正的变量''largerVariable''和常量''LARGER_VARIABLES'',这就是我想的,谢谢。 –

0

我assumming全球手段一流水平...... 作为一种实践类级别的变量应以大写字母写 在大多数情况下,它们被标记为静态的,所以可以被所有的类方法是访问。 另外,如果你认为他们只会初始化一次,那么考虑让他们最终。

正确的声明可能是:

private static VARIABLE; 
private static LARGER_VARIABLE; 
0

Java有没有这样的事情 '全球性' 的变量。 但是,如果您想使用任何其他类可以访问的常量,大多数人将声明一个public static final变量并立即使用相应的值进行初始化。

public class HttpCodes { 
    public static final String NOT_FOUND = "404"; 
} 

可以通过任何其他类访问:HttpCodes.NOT_FOUND

如果你想使一个实例变量,去与驼峰private final String notFound = "404"例如。

1

另一种认为是声明的常量,使得它们不能被改变:

private static final boolean POWER_ON = true; 

此外,如果我需要定义布尔常量,我试图把它定义所以他们肯定(真),而不是否定的(错误的),所以更容易理解而不用太多考虑。例如:

我用这个:

private static final boolean POWER_ON = true; 

,而不是这样的:

private static final boolean POWER_OFF = false; 

另一个考虑因素: 对于布尔变量,我可能会考虑用 '是' 或 '有' 前述字以表明它的布尔值,如果它从这个词不明显。例如:IS_RADIOACTIVE。

最后,我只需要定义POWER_ON而不是POWER_OFF,因为!POWER_ON在java语句中意味着相同的东西。