,发生一些情况导致反序列化对象无法获取数据eg:类的某些实例域默认值违反了约束条件时使用
一些专门为了继承的类不是可序列化的,就不可能编写出可序列化的子类,如果超类没有提供可访问的无参构造器,子类也不可能被序列化...继承的重点,不会创建父类实例,所有父类方法覆盖,成员变量和静态方法隐藏,而普通方法完全覆盖掉.
要么为继承而设计并提供文档说明,要么就禁止继承
文档来说明可覆盖方法的自用性....为了允许继承,构造器决不能调用可被覆盖的方法,无论是直接调用还是间接调用.否则很可能导致程序失败.超类的构造器在子类构造器之前运行....(技巧:使用局部变量来表示)
列表优先于数组
数组是协变的,类有继承层次,但集合是不可变的,没有子类型或者父类型的差别....枚举构造器不可以访问枚举的静态域,除了编译时静态域,因为枚举也是静态常量在初始化的时候,静态域并没有初始化;ex:初始化顺序,父类静态域>子类静态域>父类非静态公共域>子类非静态公共域>父类构造器>子类构造器