一、继承的定义与使用
1、定义:
子类(派生类)在父类(基类,超类)已有的基础上进行功能的扩充(可重用)
Java中类的继承关键字:extends
2、继承的限制:
1》子类对象实例化前,首先调用父类构造方法产生父类后,在调用子类构造方法实例化子类对象
2》Java中只允许单继承,不允许多继承(Java的单继承局限)
要想在Java中实现相关的“多继承”,要么多层继承,要么使用内部类
3》在继承时子类会继承父类的所有结构,包含私有域与其他属性和方法
显示继承:所有非私有操作属于显示操作(可直接调用)
隐式继承:所有私有操作属于非显示操作(不可直接调用,需要通过其他方法调用)
二、覆写(重写)——override
定义:
如果子类定义了与父类完全相同(不算权限)的方法或属性的时候,这样的操作称之为覆写。
方法的覆写
定义:子类定义了与父类方法名称、参数列表、返回值完全相同的方法,被覆写的方法不能拥有比父类更严格的访问控制权限。(除权限以外全部相同)
注意:方法覆写不能出现private关键字
private < default < public
default——什么也不写,包访问权限
若父类是用private,子类用public——不可用覆写(隐式继承)
判断调用的是父类方法or子类方法:
a.看new的位置(当前使用的对象是通过哪个类new的)
b.调用的方法有没有被子类覆写,如果被覆写,调用的一定是被覆写后的方法。
解释方法重载与方法覆写的区别:
a.概念:
b.范围:重载在同一个类,覆写在有继承关系的类
c.权限要求:覆写——被覆写的方法不能拥有比父类更严格的访问控制权限。
重载——不存在权限要求