Java子类初始化顺序

2016-06-03  本文已影响56人  WilsonMing
public class Print {
 public Print (String print) {
  System.out.println(print);
 }
}
public class Person {

 private static Print printLog = new Print("父类静态实例1-->");
 private Print log = new Print("父类实例-->");
 static {
  Print printLog = new Print("父类静态块-->");
 }
 private static Print print = new Print("父类静态实例2-->");
 public Person(){
  new Print("父类构造方法-->");
 }
 
 public static void print() {
  Print printLog = new Print("父类静态方法-->");
 }
 private static Print printLog3 = new Print("父类静态实例3-->");
}
public class Child extends Person {

 private static Print printLog = new Print("子类静态实例1-->");
 private Print log = new Print("子类实例-->");
 static {
  Print printLog = new Print("子类静态块-->");
 }
 private static Print print = new Print("子类静态实例2-->");

 public Child() {
  new Print("子类构造方法-->");
 }

 public static void print() {
  Print printLog = new Print("子类静态方法-->");
 }

 private static Print printLog3 = new Print("子类静态实例3-->");

 public static void main(String[] args) {
  new Child();
 }
}
父类静态实例1-->
父类静态块-->
父类静态实例2-->
父类静态实例3-->
子类静态实例1-->
子类静态块-->
子类静态实例2-->
子类静态实例3-->
父类实例-->
父类构造方法-->
子类实例-->
子类构造方法-->

->很显然,子类初始化的过程:

上一篇 下一篇

猜你喜欢

热点阅读