变量被初始化为其类型的默认值(0,null等)
首先,调用超类构造函数。如果超类构造函数调用任何在该类中重写的虚拟方法,则该重写将看到默认值,而不管构造函数主体中是否有任何变量初始化程序或初始化。
然后执行变量初始化器。
然后执行构造函数主体。
因此,如果您在构造函数主体中更改变量的值,则变量初始值设定项设置的任何值都将被覆盖。(当然,先前的值可能已在其他链式构造函数等中使用。)
有关更多详细信息,请参见JLS的12.5节。

变量被初始化为其类型的默认值(0,null等)
首先,调用超类构造函数。如果超类构造函数调用任何在该类中重写的虚拟方法,则该重写将看到默认值,而不管构造函数主体中是否有任何变量初始化程序或初始化。
然后执行变量初始化器。
然后执行构造函数主体。
因此,如果您在构造函数主体中更改变量的值,则变量初始值设定项设置的任何值都将被覆盖。(当然,先前的值可能已在其他链式构造函数等中使用。)
有关更多详细信息,请参见JLS的12.5节。