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  原来是这样啊  阅读(1350)  评论(0)    收藏  举报