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的构造器
posted @ 2018-10-30 21:50  原来是这样啊  阅读(1306)  评论(0编辑  收藏  举报