java构造器的调用顺序

来源:互联网 发布:麻烦鬼动作数据 编辑:程序博客网 时间:2024/05/16 08:36

原文

/** * 构造器的调用顺序 * 子类在产生对象实例时首先会调用父类的构造函数,如果没有显示指定调用父类自定义的构造函数, * 那么编译器会默认调用super()。如果父类的构造函数中带参数,就必须在子类中指定调用它,否则 * 会因找不到super而报错。 */  class Animal{      Animal(){          System.out.println("Class Animal");      }  }  class Fish extends Animal{      Fish(){          System.out.println("Class Fish");      }  }  class GoldFish extends Fish{      GoldFish(){          System.out.println("Class GoldFish");      }  }  public class TestInheritanceConstructor extends Animal{//首先调用      private GoldFish goldfish = new GoldFish();//其次调用            public TestInheritanceConstructor(){          System.out.println("TestInheritanceConstructor");//最后调用      }            public static void main(String[] args){          new TestInheritanceConstructor();      }  }  /** *输出结果: * Class Animal * Class Animal * Class Fish * Class GoldFish * TestInheritanceConstructor */  


0 0
原创粉丝点击