一:特点:java只支持单继承,不支持多继承,但支持多层继承
(B是A的直接父类,C是A的间接父类)
每个类都直接或者间接的继承于Object
子类只能访问父类中非私有成员(public修饰的)
二:子类到底能继承父类中的哪些内容?
成员方法:只有父类的虚方法,才能被子类继承
三:继承中成员变量的访问特点
就近原则:现在局部位置找,本类成员位置找,父类成员位置找,逐级往上
重名问题:
四:继承中成员方法的访问特点:
this调用:就近原则
super调用:直接找父类
方法重写(父类方法不能满足子类的需求时,子类出现和父类一模一样的方法声明),发生重写就会覆盖虚方法表里的方法
五:继承中构造方法的访问特点:
父类的构造方法不会被子类继承,但是可以通过super调用。
子类中所有的构造方法默认先访问父类中的无参构造,再执行自己。(原因为以下两点)
六:this,super使用总结
七:继承的好处和弊端
继承好处
提高了代码的复用性(多个类相同的成员可以放到同一个类中)
提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
继承弊端
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性