为什么final修饰的i可以通过构造方法赋值两次
public class Test01 {
public static void main(String[] args) {
A a = new A ();
A s = new A(8);
}
}
class A {
final int i;
public A(){
this.i = 5;
System.out.println(i);
}
public A(int a){
this.i=a;
System.out.println(i);
}
}
5
8
Process finished with exit code 0
一个有参构造一个是无参构造,实例化的对象是两个对象,不是一个对象
构造函数重载,类成员变量i只会被执行一次。外部两个构造函数,生成了两个对象。但每个对象的成员i都只被初始化一次