2014-09-30 64 views
0

我的問題很簡單!我見過幾個將數據庫名稱(或表名)定義爲靜態變量的應用程序! 爲什麼?爲什麼數據庫名稱必須是靜態的?

喜歡:

private static final String DATABASE_NAME = "database" ; 

我可以把它定義爲最終的變數?

+0

http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html – Luksprog 2014-09-30 18:29:33

回答

2

可能這種方式,你想說你的DATABASE_NAME不是你班上每個實例的一部分,而是班級本身的一部分。這意味着每次你聲明你的類的一個實例時,這些類中的每一個都不會擁有該屬性的副本,但他們將共享這個屬性代替。

相當邏輯,這意味着是一個靜態字段,所以爲什麼要做一個實例呢?是的,它應該是一個final變量,因爲它不同於它在執行時會改變。

2

爲了方便。在應用程序運行時或同一類的實例之間,數據庫名稱不會更改 - 它只能在應用程序版本之間更改。這樣,如果更改數據庫的名稱,則不必在整個應用程序中搜索它 - 只需修改DATABASE_NAME變量即可。

相關問題