继承--关键字:extends,super,final...
继承:子类(派生类)将获得父类(基类)的成员属性跟成员方法。
extends关键字继承
//父类
class Animal{
//该类没有指定的父类,Java编程器将默认object就是该类的父类
}
//子类
class Cat extends Animal{
public Cat (String name){//编译器默认调用的是父类的默认构造函数,
super(name); //此时super()可以被省略,
this.name=name;//如果父类只有一个带参数的构造函数super()便不能被省略
} //并且super()必须放于方法的首行
}
super关键字的使用
- 用于派生类访问基类的成员 super. 进行访问。
- 派生类要调用基类的带参构造方法 super() ,super()只能在派生类的构造方法中掉哦那个,而且必须位于方法的首行。
- 调用基类已经被其他方法重写的方法
- 访问基类的数据成员:super.成员变量 ,super.方法 。
方法重写
- 父子关系(作用域不同)
- 方法名相同
- 参数列表相同
final关键字
- 修饰方法:父类中被修饰的方法可以被子类继承但是不能被重写
- 修饰变量:该数变成常量(常量名称用大写字母表示)
- 修饰类:被修饰的类不能再被继承
类继承关系中初始化顺序
- 父类静态变量
- 父类静态块
- 子类静态变量
- 子类静态块
- 父类实例变量
- 父类实例块
- 父类构造方法
- 子类实例变量
- 子类实例块
- 子类构造方法