我还是不大明白,难道父类中的Adow(String input)不是构造函数吗?

解决方案 »

  1.   

    仔细看看treeroot(根根)的回复,父类缺一个不带任何参数的构造函数
      

  2.   

    你写了带参数的构造函数,就没有了默认的无参的构造函数,而你恰恰在子类中提供了无参的构造函数(默认的),实例化一个子类的步骤是,先调父类的构造函数,再调子类的.你子类的是无参的,而父类是有参的,不统一,同样你也可以在子类中定义一个有参的构造函数.所以在javaGuide中,建议提供一个无参的构造函数.我也刚学javaGuide.一起进步!
      

  3.   

    class Adowc extends Adow
    {
      public Adowc() {
        super(null);
    //因为父类的构造函数要求一定要有参数,而子类的参数和父类的不一致,需要显式指定
      }
    }
      

  4.   

    1,就像从c++,默认的构造函数一旦被重载,就无效了,除非再次你显示的声明。
    2,若父类只有代参的构造函数则子类必须在其构造函数中super(×××)一下。
    如:class Adowc extends Adow
         {
    public String Child;
    public  Adowc(String input){
            super(input);
           }
    public void Write()
    {
    3,构造的顺序:构造是在基础类的“外部”进行的,所以基础类会在衍生类访问它之前得到正确的初始化。---think in java。