【发布时间】:2015-03-14 05:13:27
【问题描述】:
最终变量。我已经阅读了我在这个网站和其他网站上可以找到的所有内容,并且我几乎理解了它们,但我仍然有点困惑。
所以,我知道我们为什么将变量声明为 final 的官方答案:它锁定变量并防止它被重新初始化。我的问题是:
-
如果不能重新初始化,它的值还是可以改变的吧?例如:
final int a = 1; a = a + 1;这种代码是否仍然有效,或者“final int a”是否会被永久锁定为 1?
如果上面
int a的值声明为final后仍然可以更改,那么final的意义何在?
我想问题 2 是我最大的问题。我一直看到所有这些关于它如何锁定变量的解释,有些人甚至说他们将大部分变量声明为 final,但这样做背后的动机对我来说没有意义。
【问题讨论】:
-
把上面所有的文字都写出来比简单地尝试更容易吗?
-
我投票结束这个问题,因为它是一个低质量的问题。
-
@alfasin 这是投反对票的理由,而不是关闭。
-
@JohnKugelman 我认为这是两个都做的好理由:)
-
@alfasin 我认为这是一个很好的编辑理由。要么找到一个骗子,要么避开那些试图有用的人。