📜  Java中的最终局部变量

📅  最后修改于: 2022-05-13 01:55:35.147000             🧑  作者: Mango

Java中的最终局部变量

先决条件: final关键字、变量、变量范围

Java中的局部变量是在方法体中声明的变量。然后,您只能在该方法中使用该变量。类中的其他方法甚至不知道该变量的存在。如果我们声明一个局部变量,那么我们应该在使用它之前在块中初始化它。对于局部变量,JVM 不会提供任何默认值。

当您“不小心”尝试修改值时,最终局部变量会用作警告,并且还会向编译器提供信息,从而更好地优化类文件。

使用最终局部变量的可用性:

  • 最重要的是,我们可以在匿名内部类中使用局部变量作为final,我们必须将匿名内部类的局部变量声明为final。这与为实现匿名内部类而生成的各个访问器方法有关。非最终局部变量不能用于内部类
  • 它可能允许Java编译器或即时编译器优化代码,知道变量值不会改变。这可以提高程序的处理时间。

关于局部最终变量的要点:

  1. 变量的初始化不是强制性的:即使局部变量是最终的,我们也只有在您想使用它时才必须执行初始化,即如果我们不使用它,即使它是最终的,也不需要执行初始化。
    // Java program to illustrate the behavior of
    // final local variable
    class Test {
        public static void main(String[] args)
        {
            final int x;
            System.out.println("GEEKS");
        }
    }
    

    输出:

    GEEKS
    
  2. Final 是唯一适用于局部变量的修饰符:唯一适用于局部变量的修饰符是 final。如果我们错误地尝试应用任何其他修饰符,那么我们将得到编译时错误。
    // Java program to illustrate that final is
    // the only applicable modifier for local variable
    class Test {
        public static void main(String[] args)
        {
            public int x; // static int x will also not work.
            System.out.println("GEEKS");
        }
    }
    

    输出:

    error: illegal start of expression