2010-10-12 45 views

回答

8

在Java中,所有常量必須駐留在類型(類或接口)中。但是你不必實現一個接口來使用一個常量聲明。

您可以通過將這樣的事情在你的包嘗試:

interface Constants { 

    static final String CONSTANT = "CONTANT"; 

} 

,然後使用它像這樣:

String myVar = Constants.CONSTANT; 

這樣,你仍然有你的接口,但沒有課執行它。

+1

接口主體中的每個字段聲明都是隱式的public,static和final。 – 2010-10-12 10:20:46

+7

有效Java,第19項「僅使用接口來定義類型」明確建議不要使用這些接口。如果可能的話,請使用常量或枚舉的類 – 2010-10-12 10:29:02

+0

@seanizer,您可以向我發送pdf,我的郵件編號在我的個人資料中。 – 2010-10-12 11:09:12

0

似乎是一個很好的人選屬性文件中的條目給我。

0

您可以使用抽象類作爲該包中每個impls的基類。

0

你可以用這個變量創建一個特殊的(靜態)類。稍後,您可以添加其他常量或任何您需要的類。

5

通常應用程序有一個「常量」類或接口,它包含所有常量。

我通常要將常量分組爲邏輯類。例如,如果有可以有兩種員工,經常和合同:

class EmployeeType 
{ 
    public static final String REGULAR = "regular"; 
    public static final String CONTRACT = "contract"; 
} 

,並用它作爲EmployeeType.REGULAR

如果常量不能組合這種方式,有一個單獨的類/接口持有這些。

class Constants 
{ 
    public static final String APPLICATION_DOMAIN = 'domain'; 
} 

您無需擴展/實現此類接口以使用這些值。常量通常聲明public static final,您可以訪問它們直接Constants.APPLICATION_DOMAIN

2

使用包私有類:

int val = Constants.MY_VALUE; 

class Constants{ 

    public static final int MY_VALUE = 1234; 

} 

這隻能通過從同一包中的類訪問

1

您可以通過多種方式進行此操作:

  • 一種方法(如此處所述)是創建一個全局常量接口並具有每個常量的public static final屬性。'
  • 創建屬性文件。通過擁有一個屬性文件,您將擁有一個Key值對(用=運算符分隔),每個對象都在換行符上聲明。以下是關於如何創建和使用屬性文件的tutorial