在Java中使用最终局部变量

在Java中使用最终局部变量,第1张

在Java中使用最终局部变量

首先,关于变量被“覆盖”的部分

final
具有两个非常不同的含义。对于类和方法,它与继承有关。对于变量,它是只读的。

最终局部变量有一个重要的“特征”:它们可以在局部(通常是匿名)内部类中使用。非最终局部变量不能是。

final
根据我的经验,这是局部变量的主要用途。

public void foo() {    final String x = "hello";    String y = "there";    Runnable runnable = new Runnable() {        @Override public void run() { System.out.println(x); // This is valid System.out.println(y); // This is not        }    };    runnable.run();}

请注意,就样式而言,

final
即使 没有 在本地内部类中捕获变量,某些人还是喜欢使用。我当然愿意成为
final
默认值,但是对于“ non-
final”使用不同的修饰符,但是我发现在所有地方显式添加修饰符会让人分心。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5489812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存