今天遇到一个作业题,说一个final修饰的成员变量可以不用显示赋值,可以用构造方法进行赋值,但是必须所有的构造方法都要对其属性赋值。自己用代码试了一下的确没错,常量是可以在构造器内初始化的。但必须所有的构造方法都对其常量赋值,因为如果其中有一个构造方法没有对其赋值,那使用该构造方法创建对象则该对象的属性就不会初始化。
这里有一个疑问,之前认为基本类型声明成员变量会自动初始化,但使用代码验证,基本类型不进行显示赋值一样会报错。所以证明凡是被fianl修饰的成员变量基本类型也是不会初始化默认值的。