继承与单继承局限
继承 :继承描述的是一种能力,可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 要使用继承,必须满足is-a原则.(代码复用性) 继承使用extends eg:Student,extends,person
继承语法:子类 extends 父类
(子类使用extends来继承父类)
子类:派生类,子类一定具有父类的全部属性与行为,并且与父类相比,拥有的属性更多,具有的行为更加丰富,表示的范围更小.
父类:超类
继承使用原则:
I.子类对象在进行实例化前一定会首先实例化父类对象,先有父类对象才有子类对象,先调用父类的构造方法后在调用子类构造方法.
单继承局限:
在Java中一个类只能使用extends继承一个父类.
- 要想实现多继承的概念:
I.java不允许多重继承,但允许多层继承
II.使用内部类
III.使用接口
3.子类在继承父类时会继承父类的所有结构(包括私有属性,构造方法,普通方法)
隐式继承:父类中所有的私有域(私有属性,方法),子类不能直接使用父类的属性,需要使用get/set方法;子类不能直接继承父类构造方法,只能在自己的构造方法中去调用父类的构造方法
显示继承:所有的非私有域,属于显示继承,子类对象可以直接调用
- 方法重载:overload
在一个类中,定义了若干个方法名称相同,参数个数,类型不同的方法,与返回值无关,与权限也无关
- 方法重写(覆写):override(很重要)
子类定义了与父类方法名称,参数,返回值完全一样的方法,被覆写的方法不能拥有比父类更为严格的访问控制权限.(子类方法权限>=父类权限).
> private<default<public
private方法无法被覆写!!!(方法覆写不存在子类权限)
方法覆写不能有private 权限 private 只能有public,
当前调用方法是通过那个类new的,此方法也被子类所覆写,调用的一定是覆写后的方法.