您的位置:首页 > 编程语言 > Java开发

java对象初始化过程

2014-12-11 13:43 232 查看
初始化顺序:父类静态变量—>父类静态代码块—>子类静态变量—>子类静态代码块—>父类非静态变量—>父类非静态代码块—>父类构造方法—>子类非静态变量—>子类非静态代码块—>子类构造方法。
  class Father{
  //1
  private static int fs=10;
  //2
  static{
  System.out.println("1.父类静态变量fs="+fs);
  System.out.println("2.父类静态代码块");
  }
  //5
  private int ff=20;
  //6
  {
  System.out.println("5.父类非静态变量ff="+ff);
  System.out.println("6.父类非静态代码块");
  }
  //7
  public Father() {
  System.out.println("7.父类的构造方法");
  }
  }
  class Sun extends Father{
  //3
  private static int ss=100;
  //4
  static{
  System.out.println("3.子类静态变量ss="+ss);
  System.out.println("4.子类静态代码块");
  }
  //8
  private int sf=200;
  //9
  {
  System.out.println("8.子类非静态变量sf="+sf);
  System.out.println("9.子类非静态代码块");
  }
  //10
  public Sun() {
  System.out.println("10.子类的构造方法");
  }
  }
  public class Test {
  public static void main(String[] args) {
  new Sun();
  }
  }
  执行结果:
  1.父类静态变量fs=10
  2.父类静态代码块
  3.子类静态变量ss=100
  4.子类静态代码块
  5.父类非静态变量ff=20
  6.父类非静态代码块
  7.父类的构造方法
  8.子类非静态变量sf=200
  9.子类非静态代码块
  10.子类的构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: