你的位置:首页 > Java教程

[Java教程]类和对象的初始化顺序


父类

package com.day06;public class StaticDemo {    //静态代码块  int num=3;  static{    System.out.println("父类静态代码块 --A");  }    //构造代码块  {    System.out.println("父类构造代码块 ---A "+this.num);      }  public StaticDemo(){    System.out.println("父类构造方法---A");  }  public void show(){    System.out.println("父类普通方法--- A");  }}

子类:

package com.day06;public class StaticDemoB extends StaticDemo {  //静态代码块    int num=3;    static{      System.out.println("子类静态代码块 B");    }        //构造代码块    {      System.out.println("子类构造代码块 B "+this.num);          }    public StaticDemoB(){      System.out.println("子类构造方法 B" );    }    public void show(){      System.out.println("子类普通方法 B");    }}

 

示例一:实例化父类

package com.day06;public class StaticDemoTest {  public static void main(String[] args) {    //new StaticDemo().show();    StaticDemo sd=new StaticDemo();    sd.show();      }}

结果:

父类静态代码块 --A父类构造代码块 ---A 3父类构造方法---A父类普通方法--- A

示例二、实例化子类

package com.day06;public class StaticDemoTest {  public static void main(String[] args) {    //new StaticDemoB().show();    StaticDemoB sdb=new StaticDemoB();    sdb.show();      }}

结果:

父类静态代码块 --A子类静态代码块 B父类构造代码块 ---A 3父类构造方法---A子类构造代码块 B 3子类构造方法 B子类普通方法 B