继承关键字
public class 子类名称 extends 父类名称{ …….. }
当子类和父类成员相同时,直接通过子类对象访问该成员,等号左边是谁,就有先用谁,没有就向上找
1 | public class Fu { |
- 子类中局部变量、子类变量、父类变量重名时的访问
1 | public class Zi extends Fu { |
覆盖重写
父子之间方法名称和参数列表相同
@Override:写在方法前面,用来检测是不是有效的重写
子类方法的返回值必须小于等于父类方法的返回值。
提示:java. lang.Object类是所有类的公共最高父类,java. lang.Strubg类是Object的子类
子类方法的权限必须大于等于父类方法的权限修饰符
提示:public > protected > (default) > private
1 | public class Fu { |
继承中的构造
- 当父类没有写有参的构造函数时,子类构造方法中会有一个默认隐含的super()调用。
- 子类构造可以通过super关键字来调用父类重载构造
- super的父类构造调用必须是子类构造方法中的第一个语句,也不可出现多次
1 | public class Fu { |
继承的特点
- 单继承:一个类的直接父类只能有一个。
- 多级继承
- 一个子类的父类是唯一的,但是一个父类可以有多个子类