final String 成员变量还能通过构造器赋值?
按照道理来说String是不可以变的,final也是引用不变的,而类变量会先在构造器之前因为类初始化而初始化。那么它的值已经是定下来了啊。但是我在think in java一书里面看到一段代码是这样的。
class Person{
public final String first;....
public Person(String first,String last,String address){
this.first = first;....
}
}
这些是怎么回事呢?