static&初始化顺序

static

  • 静态字段
  • 静态方法(类名调用,调用时才执行)
  • 静态代码块(和字段相同)
  • 静态导入(导入类中的静态方法) ---- import static 类名 *

初始化顺序

class A {
	A() {
		System.out.println("A的构造器");
	}
	
	int i = i();
	static String s = aa();

	static String aa() {
		System.out.println("A的静态数据");
		return "";
	}
	int i() {
		System.out.println("A的普通数据");
		return 10;
	}	
}

class B extends A{
	B(){
		System.out.println("B的构造器");
	}
	int j = j();
	static String s = bb();

	static String bb() {
		System.out.println("B的静态数据");
		return "";
	}
	int j() {
		System.out.println("B的普通数据");
		return 10;
	}	
}

输出:
A的静态数据
B的静态数据
A的普通数据
A的构造器
B的普通数据
B的构造器
原文地址:https://www.cnblogs.com/mdc1771344/p/9879836.html