java类执行顺序

1.类中所有属性的默认值(一举而成)

2. 父类静态属性初始化,静态块,静态方法的声明(按出现顺序执行)

3. 子类静态属性初始化,静态块,静态方法的声明 (按出现顺序执行)

4.  调用父类的构造方法,

首先父类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)

然后父类构造方法

5.  调用子类的构造方法,

首先子类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)

然后子类构造方法


------------------------------------------------------------

public class Test1 {
public  int aa = 44; 
public  int tt = print2("2"); 
public static Test1 test1 = new Test1();
public  int j = print("j");
public static int k = print1("k");
static{
System.out.println("静态代码块");
}

public Test1(){
System.out.println("构造方法");
}

public static int print(String str) {
        System.out.println(str);
        return 33;
    }
 
public  static int print1(String str) {
        System.out.println(str);
        return 33;
    }
public   int print2(String str) {
        System.out.println(str);
        return 33;
    }
 
public static void main(String[] args) throws IOException {
System.out.println("开始执行");
Test1 t = new Test1();
}

}


执行结果:

2
j
构造方法
k
静态代码块
开始执行
2
j
构造方法


你可能感兴趣的:(java类执行顺序)