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`(當然還有預設值)之外的任何其他修飾符,則會顯示以下訊息。
廣告