Java中的最终局部变量
先决条件: final关键字、变量、变量范围
Java中的局部变量是在方法体中声明的变量。然后,您只能在该方法中使用该变量。类中的其他方法甚至不知道该变量的存在。如果我们声明一个局部变量,那么我们应该在使用它之前在块中初始化它。对于局部变量,JVM 不会提供任何默认值。
当您“不小心”尝试修改值时,最终局部变量会用作警告,并且还会向编译器提供信息,从而更好地优化类文件。
使用最终局部变量的可用性:
- 最重要的是,我们可以在匿名内部类中使用局部变量作为final,我们必须将匿名内部类的局部变量声明为final。这与为实现匿名内部类而生成的各个访问器方法有关。非最终局部变量不能用于内部类
- 它可能允许Java编译器或即时编译器优化代码,知道变量值不会改变。这可以提高程序的处理时间。
关于局部最终变量的要点:
- 变量的初始化不是强制性的:即使局部变量是最终的,我们也只有在您想使用它时才必须执行初始化,即如果我们不使用它,即使它是最终的,也不需要执行初始化。
// 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
- 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