Java 中允許使用哪些修飾符與區域性變數一起使用?


在 Java 中,您可以宣告三種類型的變數,即例項變數、靜態變數和區域性變數。

  • 區域性變數 − 在方法、建構函式或程式碼塊內定義的變數稱為區域性變數。變數將在方法內宣告和初始化,並在方法完成後銷燬。
  • 例項變數 − 例項變數是在類內但方法外的變數。這些變數在類例項化時初始化。可以從該特定類的任何方法、建構函式或程式碼塊內訪問例項變數。
  • 類 (靜態) 變數 − 類變數是在類內、任何方法外宣告的,並使用 `static` 關鍵字的變數。

允許與區域性變數一起使用的修飾符

由於區域性變數的作用域屬於方法/程式碼塊/建構函式,因此無法從外部訪問它們,因此使用諸如 `public`、`private`、`protected`(允許訪問當前上下文之外的內容)之類的訪問說明符毫無意義。

同樣,靜態變數屬於類,可以在類的任何地方訪問,這與區域性變數的定義相矛盾。因此,也不允許在方法內部宣告靜態變數。

Java 中不允許在變數中使用 `abstract` 關鍵字。簡而言之,只有 `final` 允許與 Java 中的區域性變數一起使用。如果您嘗試使用任何其他修飾符,則會生成編譯時錯誤。

示例

public class Sample{
   int num = 50;
   public void demo(){
      int var1 = 20;
      public int var2 = 30;
      final int var3 = 40;
      private int var4 = 260;
      static int var5 = 54;
      protected int var6 = 56;
   }
   public static void main(String args[]){
      System.out.println("Contents of the main method" +new Sample().num);
   }
}

輸出

Sample.java:5: error: illegal start of expression
   public int var2 = 30;
   ^
Sample.java:7: error: illegal start of expression
   private int var4 = 260;
   ^
Sample.java:8: error: illegal start of expression
   static int var5 = 54;
   ^
Sample.java:9: error: illegal start of expression
   protected int var6 = 56;
   ^
4 errors

如果您在區域性變數前使用除 `final`(當然還有預設值)之外的任何其他修飾符,則會顯示以下訊息。

更新於:2020年7月2日

1K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告