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+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告