继承:extends 让类与类之间产生关系,子父类关系
1.将多个类的共有内容抽象到一个独立的类中
class Fu{}
class Zi extend Fu{}//子类继承父类:继承了里面的成员和方法
2.继承的优点
a.提高代码的复用性
b.提高代码的维护性
c.让类与类产生了一种关系,它是多态的前提
这也是一种弊端:耦合性
耦合性:指的是多个类产生的这种关系
内聚:指的是自己完成某件事情能力
3.继承的注意事项
a.子类不能继承父类的私有成员(成员变量/成员方法)
b.子类不能继承父类的构造方法,但是可以通过一个关键字(super)
可以间接的通过super关键字去访问父类的构造方法
4.什么情况下使用继承
a.发现两个类有同样的方法或成员变量
但这样父类中可能有我们不需要的方法也被继承过来
b.所以使用继承关系,体现的是一种is a的关系:
人------学生、老师
水果----香蕉、西瓜、橘子
所以假设有两个类A和B,如果A是B的一种,难么就可以使用继承来实现
5.继承中,成员变量有时候是不一样:
如果子类继承父类的时候,子类中成员变量和父类中成员变量名称不一致:分别输出即可
子类中成员变量和父类中的成员变量名称一致的情况下怎么办?
a.先在子类中的成员方法的局部位置查找,有没有这个变量,有就输出
b.如果在子类成员方法的局部位置找不到,就访问子类的成员位置,有就输出
c.如果在子类的成员位置找不到,就去访问父类的成员位置
d.如果在父类的成员位置找不到,那就没有这个变量,报错