【发布时间】:2018-02-03 07:44:30
【问题描述】:
有效的最终代码
public void say() {
String b = "222"; // effectively final b
class A {
public A(String c) {
b = "123"; // error
}
}
b = "123"; // success; if b is final, it is an error
}
有更详细的区别吗?
【问题讨论】:
-
你刚刚回答了自己的问题。
-
实际上 final 是一个变量,在整个程序执行过程中你永远不会改变它的值,而 final 是用 final 关键字明确指定变量告诉编译器不要改变