class GongChengShi {
final String name;//名字
final String dizhi;//地址
int age;//年龄
public GongChengShi(String name, int age) {
this.name = name;//构造函数初始化时给名字和年龄赋值
this.age = age;
}
void setDizhi(String dizhi){//在子类中调用这里给地址赋值
this.dizhi = dizhi;
}
}
输出结果
---------- javac ----------
Hello.java:36: 错误: 无法为最终变量dizhi分配值
this.dizhi = dizhi;
^
1 个错误
我dizhi在声明变量时直接赋值可以,在构造函数里赋值也可以,但是放到普通方法里赋值就不行了。
final修饰的变量只能在声明变量时赋值或者在构造函数里赋值嘛?