我想要一個常量變量對包中的所有類都是通用的。有沒有一種方法可以做到這一點,而不僅僅是爲了一個接口而僅僅定義一個接口,並且讓每個類都實現它?如何獲取包中所有類通用的常量變量?
6
A
回答
8
在Java中,所有常量必須駐留在類型(類或接口)中。但是你不必實現一個接口來使用一個常量聲明。
您可以通過將這樣的事情在你的包嘗試:
interface Constants {
static final String CONSTANT = "CONTANT";
}
,然後使用它像這樣:
String myVar = Constants.CONSTANT;
這樣,你仍然有你的接口,但沒有課執行它。
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。
相關問題
- 1. 獲取包中聲明的所有變量和常量名稱
- 2. 如何通過.GetType獲取類常量()
- 3. 通過變量值獲取常量值
- 4. 如何獲取所有jenkins變量
- 5. 如何獲取groovy對象或類的所有變量?
- 6. 如何通過反射獲取某個類型的所有常量?
- 7. 獲取變量包
- 8. 獲取所有sessionScope變量XPages中
- 9. 如何在靜態類的包含文件中獲取變量
- 10. 通過strlen獲取變量的變量
- 11. 如何列出類的所有變量
- 12. Python - 如何獲得類中的所有靜態變量?
- 13. 獲取在類中聲明的所有實例變量
- 14. 如何獲取綁定中所有變量的列表?
- 15. 如何在WordPress中獲取所有的URL變量數據?
- 16. 如何獲取Django模板中定義的所有變量?
- 17. 如何獲取Cil指令(OCaml)中的所有變量?
- 18. 如何獲取jinja 2模板中所有變量的列表
- 19. 從類中獲取變量
- 20. 如何使用常量類變量在類中聲明常量數組?
- 21. 使用self獲取類中的變量?
- 22. 帶有常量的PHP類變量
- 23. 如何訪問類常量和變量
- 24. 如何獲得所有全局變量
- 25. 如何通過連接獲取變量?
- 26. 如何查找SSIS包中使用變量的所有地方?
- 27. 如何使用單個函數獲取所有javascript變量?
- 28. 如何在請求中獲取所有POST變量
- 29. 獲取所有路徑變量
- 30. 獲取所有PHP變量及其值
接口主體中的每個字段聲明都是隱式的public,static和final。 – 2010-10-12 10:20:46
有效Java,第19項「僅使用接口來定義類型」明確建議不要使用這些接口。如果可能的話,請使用常量或枚舉的類 – 2010-10-12 10:29:02
@seanizer,您可以向我發送pdf,我的郵件編號在我的個人資料中。 – 2010-10-12 11:09:12