一、继承的实现
1. 通过extends关键字继承父类。
2. 用instanceof运算符判断对象是否是某个类或其子类的实例。
二、继承使用要点
1. 父类也称作超类、基类、派生类等。
2. Java中类只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难以维护。
3. Java中类没有多继承,接口有多继承。
4. 子类继承父类可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
5. 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
三、方法的重写override
1. 方法名、形参列表相同。
2. 返回值类型和声明异常类型,子类小于等于父类。
3. 访问权限,子类大于等于父类。
四、super
1. super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。
2. 使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。
3. 若是构造方法的第一行代码没有显示的调用super(…)或this(…);那么Java默认都会调用super(),含义是调用父类的无参构造方法。这里的super()可以省略。
五、继承树追溯
查找属性或方法顺序:
1. 查找当前类中有没有属性或方法;
2. 如果没有,依次上溯每个父类,查看每个父类中是否有属性或方法,直到Object;
3. 如果没找到,则出现编译错误。
可以理解为:子类没有的属性和方法,继承父类的,子类有的属性和方法,就是和父类分开的。内存中是层级结构,子对象中间包括父对象。