继承
继承是面向对象的三大特征之一,可以让子类有父类的成员属性和成员方法,子类也可以重写和追加属性和方法
继承通过extends实现,java只支持单继承,不支持多继承,但支持多层继承
继承的好处
继承可以使类与类产生关系,使子类使用父类的非私有属性和方法,提高代码的复用性和维护性
继承的弊端
耦合性增强了,父类发生改变子类也会跟着变
继承访问变量的特点:先从局部范围找,再找成员变量,再找父类成员变量,找不到就报错(不考虑父类的父类)
this和super
this代表本类,super代表父类
在继承关系中,子类都会默认访问父类的无参构造,如果父类没有无参构造,建议自己给出一个无参构造
方法重写
在继承关系中,子类中有和父类一模一样的方法,子类需要使用父类中有的方法,但是方法主体内容又有不同的话就可以重写这个方法。
Override注解 检测当前的方法,是否是重写的方法
子类不能重写父类的私有方法,也访问不到,子类重写方法后,访问修饰符权限不能比父类的更低
final关键字
final代表最终的意思,修饰类代表类不能被继承,修饰方法代表方法不能被重写,修饰变量表示这个变量变成常量,值不能被修改
static关键字
static是静态的意思,修饰的特点是被类的所有对象共享,可以通过类名调用,静态成员方法只能访问静态。