继承
继承
继承概述
让类与类之间产生关系(父子类关系),子类可以直接使用父类中非私有的成员
继承的格式
格式:public class 子类名 extends 父类名 {}
范例:public class Zi extends Fu{}
Fu:是父类,也被称为基类,超类
Zi:是子类,也被称为派生类
继承的好处和弊端
-
好处: 提高了代码的复用性,维护性,是多态的前提
-
弊端:降低了代码的灵活性,增强了代码的耦合性
-
耦合性:代码与代码之间存在关联
继承的特点
java只支持单继承,不支持多继承,支持多层继承
继承的成员变量访问特点
在子类方法中访问一个变量
-
子类局部范围找
-
子类成员范围找
-
父类成员范围找
子类在初始化的时候,可能会用到父类中的数据,所以子类初始化前,一定要先完成父类初始化
构造方法的第一条默认语句都是:super()
继承成员方法的访问特点
通过子类对象访问一个方法
子类成员范围找
父类成员范围找
方法重写注意事项
-
父类私有方法不能被重写
-
子类重写父类方法时,访问权限必须大于等于父类
-
父类静态方法,子类必须通过静态方法进行重写,父类非静态方法,子类也必须通过非静态方法进行重写
注意:静态方法不能被重写
代码块
- 局部代码块
位置:方法中定义
作用:限定变量的生命周期,及早释放,提高内存利用率
- 构造代码块
位置:类中方法外定义
特点:每次构造方法执行时,都会执行,并且在构造方法前执行
作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高复用性
- 静态代码块
位置:类中方法外
特点:需要通过static关键字修饰,随着类的加载而加载,只执行一次
作用:在类加载的时候做一些数据初始化操作