Java中的最终局部变量

先决条件: 最终关键字 , 变量, 变量的范围

null

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

A. 最终局部变量 当您“意外”尝试修改某个值时,它会发出警告,并向编译器提供可以更好地优化类文件的信息。

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

  • 最重要的是,我们可以使用局部变量作为 匿名内部类 ,我们必须将匿名内部类的局部变量声明为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
    

本文由 比沙尔·库马尔·杜比 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享