final 修饰的成员变量无默认值!
class Something {
final int i;
public void doSomething() {
System.out.println("i = " + i);
}
}
上边有问题吗?
答案: 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为"final int i =0;"。