继承中的super关键字以及代码块执行顺序
1.父类和子类
子类继承父类,那么子类就可以拥有父类中所有的公共的(public)属性及方法,当多个类中描述的属性及行为是相同的或者大部分是相同的,此时就可以考虑是用继承,以简化代码。在Java的普通类中是不允许出现多继承的(会出现调用不明确的问题),但是可以有继承体系。
Java 的继承通过 extends 关键字来实现,extends 关键字使用代码演示如下:
//父类
public class ParentClass{
...
}
//子类继承父类
public class SubClass extends ParentClass{
...
}
此时SubClass类就有了ParentClass类中所有的公共的(public)属性及方法。
2.super关键字
关键字 super 指代父类,可以用于调用父类中的普通方法和构造方法。只要存在继承关系,调用子类中的构造器时,构造方法中就会默认去执行super(),super()默认不写的,另外,如果要显示的写出来,那必须在第一行。在子类中的方法之所以可以互相调用是因为都默认持有了一个this对象,存在继承关系时,子类中在调用父类中的属性及方法时都默认持有了super关键字。
super关键字的作用:
- 调用父类构造方法
- 调用父类方法
子类构造器中的super关键字
/**
* 父类--人
*/
public class Person {
//年龄
int age ;
//性别
String sex;
//名字
String name;
//父类构造器
public Person(