继承中构造函数与静态块的执行顺序
当存在继承关系时,实例化子类对象时函数与静态块(static)的执行顺序是先调用父类的还
是先调用子类的呢?其实答案已经很明确了,既然存在父子关系肯定是先有父再有子,为
了更透彻的理解,以下以 Person(父类)与 Student(子类)为例:
一. 创建 Person class:
package TestCases;
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(){//重写了默认的构造函数
System.out.println("this is person");
}
static{//静态块
System.out.println("this is person's static");
}
}
二.创建 Student 类继承 Person 类:
package TestCases;
public class Student extends Person {
private String stuId;
private String classNo;
public Student(){
System.out.println("this is student");
}
public String getStuId() {
return stuId;
}
public void setStuId(String stuId) {
this.stuId = stuId;
}
评论0
最新资源