重写field的提前定义
默认情况下,如果父类中的构造函数代码,用到了会被子类重写的filed; 那么子类的filed将会出错
- 子类的构造函数调用父类的构造函数
- 父类的构造函数初始化field(结果正确)
- 子类的构造函数使用field执行其他构造函数,但是此刻该field的getter方法被重写,返回0
- 子类的构造函数再执行,重写field
- 但是此时子类从父类继承的代码,已经出现了错误了
class Student{
val classNumber:Int=10
val classScores:Array[Int](classNumber)
}
class PEStudent