常數是一個變量,它的值一旦被賦值就不能改變。 Java沒有內建對常數的支持,但是變數修飾符static和final可以用來有效地建立常數。
常數可以讓您的程式更容易被其他人閱讀和理解。此外,JVM和應用程式都會快取一個常數,因此使用常數可以提高效能。
static 修飾符
這允許在不建立類別實例的情況下使用變數;靜態類別成員與類別本身相關聯,而不是與物件相關聯。所有類別實例共享變數的相同副本。
這意味著另一個應用程式或main()可以輕鬆地使用它。
例如,class myClass包含一個靜態變數days_in_week:
public class myClass { static int days_in_week = 7; }
因為此變數是靜態的,所以可以在其他地方使用它而無需明確建立myClass物件:
public class myOtherClass { static void main(String[] args) { System.out.println(myClass.days_in_week); } }
final修飾符
final修飾符表示變數的值不能改變。分配值後,無法重新分配。
可以使用final修飾符使原始資料類型(即int,short,long,byte,char,float,double,boolean)成為不可變/不可更改的。
這些修飾符一起建立一個常數變數。
static final int DAYS_IN_WEEK = 7;
注意,在加入final修飾符之後,我們在所有大寫中宣告DAYS_IN_WEEK。在Java程式設計師中,用大寫字母定義常數變數以及用底線分隔單字是一種長期的實踐。
Java不需要這種格式,但它使任何閱讀程式碼的人更容易立即識別常數。
常數變數的潛在問題
在Java中,final關鍵字的工作方式是變數指向值的指標不能更改。讓我們重複一下:它是不能改變它所指向的位置的指標。
無法保證被引用的物件將保持不變,只能保證變數將始終持有對同一物件的參考。如果引用的物件是可變的(即具有可以更改的欄位),那麼常數變數可能包含一個與最初指派的值不同的值。
以上是如何在Java中使用常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!