首要结论
子类到底能继承父类中的哪些东西?
| 构造方法 | 成员变量 | 成员方法 |
|---|---|---|
| 非私有,不能 | 非私有,能 | 非私有(能被添加进虚方法表中),能 |
| private,不能 | private,能继承,但不能用 | private,不能 |
成员变量继承情况
父类的 name,age 没用 private 修饰:

父类的 name,age 用 private 修饰:

成员方法

- 非 private
- 非 static
- 非 final

继承中成员变量访问特点---就近原则


主要看 "喝茶" 案例;
- 调用
hobby采取就近原则,从局部中开始向上找 - 调用
this.hobby采取就近原则,从子类中开始找 - 调用
super.hobby采取就近原则,从父类中开始找
继承中成员方法访问特点---就近原则
- 直接调用满足就近原则
super调用,直接访问父类


方法的重写
当父类的方法不能满足子类现在的需求时,需要进行方法重写。
书写格式:在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。
@Override 重写注释:
@Override是放在重写后的方法上,检验子类重写时语法是否正确- 加上注释后如果有红色波浪线,表示语法错误
- 建议重写方法都加上
@Override,代码安全、优雅

本质:
方法重写即为,子类覆盖了 从父类中继承的、虚方法表里的 方法。
重写注意事项
(第二个子类重写父类方法时,访问权限子类必须大于等于父类,这里的访问权限指的是 子类中成员方法的访问权限。)反正记住 子类方法名称、形参列表和父类完全一致即可。
