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();   
                  ChildClass     cc=new   ChildClass();     }       
            }   
        输出结果:
         解释:

解决方案 »

  1.   

    FatherClass    Create
    FatherClass    Create
    ChildClass  Create
      

  2.   

    FatherClass  fc=new  FatherClass();//-->output:FatherClass    Create
    ChildClass    cc=new  ChildClass();//-->Firstly, it will invoke FatherClass's constructor, then itself's constructor, so output: FatherClass    Create +"\n"+ ChildClass  Create
      

  3.   

    输出结果:
    FatherClass    Create
    FatherClass    Create
    ChildClass  Create
    解释:
    public  class  FatherClass()括号需要删除才能运行程序。
    import  test.FatherClass;这句话纯属多余,这两个类在同一个包test下,不需要导入。
    ChildClass继承父类FatherClass,它的无参构造函数ChildClass(),会默认调用父类的无参构造函数public  FatherClass() ,因此在生成ChildClass对象时,它会执行System.out.println("FatherClass    Create"),
    然后再执行System.out.println("ChildClass  Create")。所以输出FatherClass    Create
    ChildClass  Create。
    ChildClass()中也可以在第一句话中显示调用父类的构造函数super();
    效果与你写的是一样。
      

  4.   

      public  class  FatherClass()  多了个括号输出结果:
    FatherClass    Create
    FatherClass    Create
    ChildClass  Create
      

  5.   

    这个非常的简单啦!!
    不就是 构造函数的 问题嘛?
    FatherClass  fc=new  FatherClass(); 看这一句 就调用了父类的构造函数public  FatherClass()  
                {    System.out.println("FatherClass    Create");}  
                } 
     
    所以打印出: FatherClass    CreateChildClass    cc=new  ChildClass();    再看这句 new了一个子类出来,子类构造的过程,先调用父类的构造的函数 再调用自己的构造函数所以 就打印出:FatherClass    Create
                ChildClass  Create 
    就这么简单
      

  6.   

    FatherClass    Create 
    FatherClass    Create 
    ChildClass  Create 
    执行子类构函的时候首先要执行父类的构函,所以就这样了
      

  7.   

    输出结果: 
    FatherClass    Create 
    FatherClass    Create 
    ChildClass  Create 
    解释: 
    程序的入口点是main函数
            |
           |
    执行FatherClass  fc=new  FatherClass();
    其中 new  FatherClass();就是调用FatherClass的构造函数
    输出结果:FatherClass    Create
            |
           |
    执行ChildClass   cc=new  ChildClass();   
    其中new  ChildClass();就是调用ChildClass的构造函数,
    但是ChildClass继承了FatherClass,
    在调用子类的构造函数之前,先要调用父类的构造函数。
    输出结果:FatherClass    Create (父类构造函数)
             ChildClass  Create (子类构造函数)
      

  8.   

    构造器初始化问题,当创建子类的一个对象的时候,父类的实例域以及构造器都要初始化,而父类的构造器先于子类的构造器初始化(在子类构造器执行之前),而你的父类构造器里面是输出语句,当ChildClass    cc=new  ChildClass();执行的时候就执行了父类构造器的输出语句 System.out.println("FatherClass    Create") ,然后再执行子类构造器的输出语句System.out.println("ChildClass  Create"),于是有了那样的输出结果
      

  9.   

    FatherClass    Create /* 执行FatherClass  fc=new  FatherClass();时的输出*/
    FatherClass    Create /* 执行 ChildClass    cc=new  ChildClass();时先要调用父类的构造方法
    ChildClass  Create     后调用子类的构造方法。*/
      

  10.   

    构造ChildClass的时候传说首先会构造它的父类~