当你这个子类继承的父类的构造函数是你自己写的时候,你就要在子类的构造函数里用super() 显式调用父类的构造函数。

解决方案 »

  1.   

    好象在我不写的情况下,子类会自动调用父类的构造函数,那为什么还要使用super()呢?
      

  2.   

    主要用在继承关系上面,super关键字可以用来显示的调用子类的构造函数,还可以用来调用子类的方法。
      

  3.   

    如果你父类的构造函数是defualt的,你就不用用super()了。
      

  4.   

    如果你的父类的构造函数的参数是空的,也可以不用显式的用super()
      

  5.   

    但是,当你的父类的构造函数不是default的,而且参数是非空的,那你必须在子类的构造函数的第一行显式的用super( **** ) 。。
      

  6.   

    pls look Thinking in Java 第6章。
    里面有极度详细的解说。简单说,你想建第二层楼,首先必须把第一楼建好。
      

  7.   

    关键是因为子类要用到父类的方法等,所以必须调用super()把父类实例化,才能够使用父类的非静态成员~
      

  8.   

    因为子类要用到父类的方法等,所以必须调用super()把父类实例化,才能够使用父类的非静态成员~同意 yeliming(重返光荣) ( ) 建议看think in java
      

  9.   

    简单一点说,如果你父类的构造函数是显式的,且带有参数,则你必须在子类的构造函数使用super(参数),不然就调用父类非静态成员出错.