无论通过何种构造器创建子类对象,需要保证先初始化父类。
目的:当子类继承父类后,“继承”父类中所有的属性和方法,因此子类有必要知道父类如何为对象进行初始化。
多态使用:1.若子类重写了父类方法,就意外着子类里定义的方法彻底覆盖了父类里的方法,系统将不可能把父类里的方法转移到子类中。
2.对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量。
方法形参中 不定参数 如何 int ... arr 与int[] arr 等同 即 public void add(int... arr) 与public void add(int[] arr) 不构成重载。
在Object中定义的equal()方法作用和==相同,源码:
public boolean equal(Object obj){
return (this == obj);
}
像String、Date以及包装类均重写了Object中的equal()方法
基本数据类型-->对应包装类 (包装类 = 基本数据类型 int m = 5;Integer i = m) 自动装箱 对应包装类-->基本数据类型 (基本数据类型 = 包装类 Integer i = new Integer(5); int m = i ) 自动拆箱