2012-03-30 108 views
0

Java命名规则建议使用哪一个。 这Java中公共静态最终类标识符的命名规则是什么?

public static final class DatabaseTable 

或者,这

public static final class DATABASE_TABLE 

哪一个是正确的?

+0

第一个(骆驼套)是一个更好和更喜欢的类命名方式。 – mdakin 2012-03-30 09:44:00

+1

这两个声明有不同的含义。一个是声明一个static,final,public *内部类,而另一个声明'clas'类型的变量* [public,static,final]。这是一个错字吗? – amit 2012-03-30 09:44:59

回答

4

这里没有“错误”这样的事情,因为Java编译器或语言的语法不会强制您使用特定的命名约定。

如果我们看一下老Code Conventions for the Java Programming Language文件,具体Chapter 9 - Naming Conventions,我们可以看到,类应该具有CamelCaseNames:

类名应该是名词,采用大小写混合的方式,每个单词的第一个字母大写。尽量保持你的类名简单和描述性。使用整个单词 - 避免首字母缩略词和缩写(除非缩写比长表单要广泛得多,比如URL或HTML)。

如果该类是嵌套类(static)或类是final,则无关紧要。

ALL_UPPERCASE_NAMES用于常量; static final变量(不是类)。

5

我觉得第一个是合适的。任何类名称可能是最终的或任何,它的名字应在正确的情况下没有任何空间。正确的情况意味着每个单词的第一个字母应该在大写字母并记住在这种情况下不要使用任何UnderScore

你应该在第二样式名称,如果它是一个最终变量

0

我仍然会使用第一个瓶盖一般意味着常数字段,而不是最后的方法,或者即使他们是final类静态的。

1

字段public static final修饰符在Java中用作“常量”,应该用大写字母表示。所以,正确的(编译)语句应该是:

public static final Class DATABASE_TABLE = DatabaseTable.class; 

如果你正在寻找一个类名,然后命名约定是像往常一样类:第一个字母是大写,在CamelCaseNotation名称。

public static final class DatabaseTable { 
    // ... 
} 
+1

虽然正确,但我认为*大多数人更喜欢'Class '而不是'Class':\ – amit 2012-03-30 09:47:53

+0

'public static final class DATABASE_TABLE {public static final TEST_TABLE =“tbltest”}'这是正确的代码吗? – 2012-03-30 09:52:07

+0

这很混乱。我不认为Ankur Patel意味着在这里创建一个'Class'常量;他只是想知道嵌套'final'类的命名约定是什么。 – Jesper 2012-03-30 09:56:57