父类:
package test;
public class  FatherClass
{
    public FatherClass()
 {
  System.out.println("FatherClass Create");
 }
}
子类:
package test;
import test.FatherClass;
public class  ChildClass extends FatherClass
{
 public ChildClass()
 {
  System.out.println("ChildClass Create");
 }
 public static void main(String[] args) 
 {
  FatherClass fc = new FatherClass();
 }
}
输出结果是:
FatherClass Create
FatherClass Create请问构造器的调用顺序是怎样的?

解决方案 »

  1.   

    不会吧,应该就一个FatherClass Create
    哪来的两个啊?
      

  2.   

    FatherClass fc = new ChildClass();
    display result in console should be following:
    FatherClass Create
    ChildClass Create
      

  3.   

    你那里会输出两次“FatherClass Create”??没搞错吧你这里
    FatherClass fc = new FatherClass();
    fc就是FatherClass的实例,当然调用父类构造函数了
      

  4.   

    TO xzx520soft():
    FatherClass fc = new FatherClass();
    是不是你的本意?
      

  5.   

    请问构造器的调用顺序是怎样的?-----------------------
    去看java编程思想
      

  6.   

    我把你的程序放在了一个文件里面,在当前路径下编译运行,不创建任何包,结果为打印了一个FatherClass Create,也就是你父类的构造方法。你在创建对象的时候就是调用的父类构造方法,子类并没有调用,如果你把子类作为你运行时的对象,那么程序在运行时则会先构造父类的构造方法,然后再构造子类的,结果为rintlnFatherClass Create ChildClass Createpublic class Test{
    public static void main(String[] args){
    FatherClass fc = new FatherClass();
    }
    }

     class FatherClass
    {
    public FatherClass()
    {
    System.out.println("FatherClass Create");
    }
    }
    //子类:
    //package test;
    //import test.FatherClass;
    class ChildClass extends FatherClass
    {
    public ChildClass()
    {
    System.out.println("ChildClass Create");
    }
    }
      

  7.   

    是先调用从父类继承的构造器,然后调用自己的构造器。谢谢stonejiang()的详解,给分!!!
    但不知道有没有根据?