知识点:
1)、构造一个类对象,必须先构造它的父类对象。
2)、初始化一个类必须先初始化它的属性。
即:一个类先执行它的构造方法,构造方法方法之前需要执行super(),然后是成员变量,最后是构造函数内部的语句。
下面是一个例子:
public class Test {
private String name="jack";//顺序4:执行成员变量
private int age=20;//顺序5:
public Test(){//顺序3:在调用构造函数之前先要调用super();
//super();对super的调用必须是在构造函数的第一个语句
age=1000;//顺序6:在执行成员变量之后就执行构造函数内部语句
}
public static void main(String[] args) {//顺序1:main函数是一个程序的入口
Test t=new Test();//顺序2:new对象调用构造函数
System.out.println(t.name+","+t.age);//顺序7:结果为jack,1000
}
}
程序的执行顺序:先静态(先父类再子类),再非静态(先父类再子类)
整个程序的运行过程中,静态块只执行一次,而且内膜版对象只有一个(静态块通常在连接数据的时起初始化的作用)。