对象能够包含其他对象,被包含的对象就叫子对象。子对象可以是成员子对象,基类子对象或者是数组的成员。如果一个对象不是任何对象的子对象,那么这个对象称为完全对象。
派生类是对基类的扩展,所以派生类对象内部一定有一份基类对象的存在,这份基类对象,本质上是派生类对象的一部分,直接存放在派生类对象内部,不是独立的对象,称之为基类子对象。
java中的super关键字就是指向基类子对象的引用。
而this关键是指向对象本身的引用。
子类会继承父类的非私有成员。如果子类的成员变量 和 从父类继承来的成员变量 同名,则子类的成员变量会隐藏父类的成员变量;如果子类的成员方法 和 从父类继承来的成员方法 具有相同的返回类型、方法名、参数列表,则称子类的成员方法重写了父类的成员方法。如果想要在子类中访问父类的被子类隐藏的成员变量或被子类重写的成员方法就可以使用super关键字:
super.成员变量名 super.成员方法名([参数列表])
super关键字也可以用于在子类的构造方法中,调用父类的构造方法。语法是:
super([参数列表])
需要注意的是:
在构造方法中,对其他构造方法的调用必须是第一条语句。