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`(当然还有默认值)之外的任何其他修饰符,则会显示以下消息。
广告