面向对象的三大特征:封装性、继承性、多态性。
继承是多态的前提,如果没有继承就没有多态
继承主要解决的问题就是:共性抽取
继承关系当中的特点:1、子类可以拥有父类的内容2、子类还可以拥有自己专有的内容。
父类也可以叫基类、超类。子类还可以拥有自己专有的内容。
在父子类的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方式:
直接通过子类对象访问成员变量:等号左边是谁,就先用谁,没有则向上找。
间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找。
注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的
局部变量:直接写成员变量名
本类的成员变量:this. 成员变量名
父类的成员变量:super.成员变量名
在父类的创建关系当中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优选用谁,如果没有则向上找。
重写(override):概念:在继承关系当中,方法的名称一样,参数列表也一样。
重写(override):在继承关系当中,方法的名称一样,参数列表也一样。覆盖、覆写
重载(overload):方法名称一样,参数列表不一样。
方法覆盖重写的特点:创建的是子类对象则优先用子类方法。