2012-03-30 106 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