2012-09-20 129 views
21

Java常量变量是否有任何命名约定?
通常我们使用名称中包含大写字母和下划线的变量(_)。
Java常量变量,命名约定

例如:

public final class DeclareConstant { 

    public static final String CONSTANT_STRING="some constant"; 

    public static final int CONSTANT_INTEGER=5; 

} 
+2

这就是所谓的蛇上的情况下,顺便说一句 –

回答

17

是。这就对了。它通常也用于enum

唯一相同的例外是记录在这里你可能会看到

private static final Logger log = Logger.getLogger(getClass().getName()); 

但我更喜欢LOG

我经常写为UPPER_CASE,但我也写字母大写类和驼峰变量和方法。

+1

为什么在记录仪的情况下,我们使用 私有静态最后记录器记录= Logger.getLogger(的getClass()的getName()); ? –

+1

林不知道这是真的@彼得 - 法瑞。 API中的东西File.separator是小写字母。我认为这个惯例是,如果rhs必须做某件事,例如得到一个记录器,那么它就是小写字母。如果它确实是一个常量,那么它是大写 – RNJ

11

这是正确的。据孙:

Scroll to the bottom see constans

常量

的声明类常量变量和常量ANSI应该 全部大写用下划线分隔的字(“_”)的名称。 (ANSI常数应避免,以便调试。)

static final int MIN_WIDTH = 4;

static final int MAX_WIDTH = 999;

static final int GET_THE_CPU = 1;

+1

请在答案中引用相关段落,以便于参考和保证将来的访问。 – chepner

+0

@chepner:刚刚编辑。感谢您的评论! –

+1

你能解释一下“ANSI常量”是什么,以及它们与其他“静态最终”常数有什么不同? –

2

是的,通常当一个变量是static final时,它被声明为用所有大写字母写成,并用下划线分隔的单词,如您所示。

4

变量是标识符。

有3种方法来命名的标识符:

  1. 骆驼情况: 用来命名一个函数,变量

    e.g:INT streamJavaMethod()或可变的,arrayBoss;

  2. 帕斯卡情况: 用来命名一个类

    e.g:类StreamJavaClass()

  3. 上壳体:用于命名 常数

    例如:PIE

虽然这些仅仅是命名约定,但不需要遵循严格的规则。 专业的java程序员使用它。

2

这些命名约定中的很多都是在IDE广泛使用之前就已经创建好了。现在,静态常量的着色方式与本地变量不同,因此需要使用特定的命名约定来标识它们。我建议现在可读性是一个更重要的问题,建议使用camel case。

要回答你的问题,其他答案是正确的,这是正式的约定。 ;)

+2

恕我直言,将静态常量命名为与局部变量不同的名称仍然很有用。 –