以下兩種語法排序在Java中有效。爲什麼都允許,並且是否有首選語法順序?Java中的語法排序
private final static String consultantType = "consultantType";
private static final String consultantId = "consultantId";
以下兩種語法排序在Java中有效。爲什麼都允許,並且是否有首選語法順序?Java中的語法排序
private final static String consultantType = "consultantType";
private static final String consultantId = "consultantId";
的訂單將被允許的,因爲在限制順序沒有任何價值,所以何苦強加記得程序員虛假排序的負擔?
它絕對不會影響您使用的訂單。選擇一個你喜歡的,持續使用它,然後轉到更有趣的問題。
對於它的價值,我認爲「私人靜態最終」可能更常見。
的Java Language Specification section 8.3.1狀態:
如果兩個或多個(不同)字段改性劑出現在字段聲明,習慣上,雖然不是必需的,它們出現在上面示出與相一致的順序FieldModifier的生產。
的生產FieldModifier
是:
FieldModifier: one of Annotation public protected private static final transient volatile
所以你的情況,這是習慣使用private static final
,雖然任何順序是有效的。
對於Java而言,您並沒有將修飾符的順序設置爲任何不同。因此,「public static」和「static public」的工作方式和語義上相同。
任何訂單有效。因此,Checkstyle在遇到以下順序之外的修飾符時會標記警告。請參閱ModifierOrder
檢查。
public
protected
private
abstract
static
final
transient
volatile
native
strictfp
這是一個好點的,謝謝對答案將接受10分鐘後有效。需求。 P.S問題和問題有區別!這不是一個問題,而是一個準備面試問題的問題,當它發生時:) - 鄧肯 –