Java实例化对象时候的加载顺序

public class Student {
	public Student(String name){
		System.out.println(name);
	}
}
// 父类
public class FuClass {
	private static Student student=new Student("父类静态变量");
	private Student student1=new Student("父类非静态变量");
	static {
		System.out.println("父类静态代码块");
	}
	public FuClass(){
		System.out.println("父类构造方法");
	}
	
}
//子类
//子类
public class ZiClass extends FuClass {
	private Student student=new Student("子类非静态变量");
	private static Student student1=new Student("子类静态变量");
	public ZiClass(){
		System.out.println("子类构造方法");
	}
	static {
		System.out.println("子类静态代码块");
	}
}
//测试类代码
public class test {
	public static void main(String[] args) {
		ZiClass zi=new ZiClass();
	}
}
最终的执行结果

父类静态变量

父类静态代码块

子类静态变量

子类静态代码块

父类非静态变量

父类构造方法

子类非静态变量

子类构造方法


你可能感兴趣的:(java总结)