面向对象-继承
继承的好处
- 减少了代码的冗余,提高了代码的复用性
- 便于功能的扩展
- 为之后多态性的使用,提供了前提
继承定义
class 父类 { } class 子类 extends 父类 { }
体现
一旦子类继承父类以后,子类就获取了父类中声明的所有属性和方法
特别的,父类声明为private的属性或方法,子类继承父类以后,任然仍未获取了父类中私有的结构,只是因为封装性的影响,使得子类不能直接调用父类的结构而已。
但是
子类只能使用父类中所有公开的没有重写的方法,重写了就执行自己重写的
继承特点
- 一个子类只能继承一个父类
- 一个父类类可以有多个子类
- 子类直接继承的父类:直接父类。间接继承的父类:间接父类。
object 类
- 是所有的类的父类
- 没有显式的声明一个类的父类的话,则默认继承Object类
方法的重写
- 重写:子类继承父类以后,可以对父类中同名且同参数的方法时,实际执行的事子类重写的方法。
super关键字
作用:调用父类,是构造器
可以理解为父类的
不写super也可以调用父类,一般都不写,只是子类重写了父类的方法时,你想调用父类的方法时,就要写。
注意,面试点
子类继承父类后,子类初始化对象之前,所有的父类都要初始化,辈分越高的,越提前初始化。
构造方法必须new父类。
如果父类的构造器是有参数的,在子类构造器中就必须先调用父类构造器,因为要传参数。
一定要让父类先初始化,不能调换下面的顺序(super和int)