首頁 >Java >java教程 >在Java中,僅使用final關鍵字可以定義一個常數嗎?

在Java中,僅使用final關鍵字可以定義一個常數嗎?

王林
王林轉載
2023-09-20 16:17:021417瀏覽

在Java中,僅使用final關鍵字可以定義一個常數嗎?

常數變數是其值固定且程式中只存在一個副本的變數。一旦你聲明了一個常數變數並給它賦值,你就不能在整個程式中再次改變它的值。

與其他語言不同,Java不直接支援常數。但是,你仍然可以透過宣告一個變數為靜態和final來建立一個常數。

靜態 - 一旦你聲明了一個靜態變量,它們將在編譯時載入到記憶體中,即只有一個副本可用。

Final - 一旦你宣告了一個final變量,就不能再修改它的值。

因此,你可以透過將實例變數宣告為靜態和final來在Java中建立一個常數。

範例

 示範

class Data {
   static final int integerConstant = 20;
}
public class ConstantsExample {
   public static void main(String args[]) {
      System.out.println("value of integerConstant: "+Data.integerConstant);
   }
}

輸出

value of integerConstant: 20
value of stringConstant: hello
value of floatConstant: 1654.22
value of characterConstant: C

沒有static關鍵字的常數

如果你建立一個沒有static關鍵字的final變數,儘管它的值是不可修改的,但每次建立一個新物件時,都會建立一個單獨的變數副本。

範例

例如,考慮以下Java程式:

 線上示範

class Data {
   final int integerConstant = 20;
}
public class ConstantExample {
   public static void main(String args[]) {
      Data obj1 = new Data();
      System.out.println("value of integerConstant: "+obj1.integerConstant);
      Data obj2 = new Data();
      System.out.println("value of integerConstant: "+obj2.integerConstant);
   }
}

輸出

value of integerConstant: 20
value of integerConstant: 20

在這裡,我們建立了一個最終變量,並嘗試使用兩個物件列印其值,儘管變數的值在兩個實例中是相同的,但由於我們為每個實例使用了不同的對象,它們是實際變數的副本。

根據常數的定義,您需要在整個程式(類別)中只有一個變數的副本。

因此,要按照定義建立常數,您需要將其宣告為靜態和最終。

以上是在Java中,僅使用final關鍵字可以定義一個常數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除