我想继承上一个类Circle,
 我是这样些的:public class Cyliner estends Circle{
}
  但是他提示错误:Implicit super constructor Circle()is undefined for default constractor .Must define an explicit constructor.
呵呵外语水平不够,看不懂。希望大家给我点帮助,谢谢了啊!

解决方案 »

  1.   

    应该是说你的子类调用父类的构造函数不明确。或你的父类定义了带参数的构造器。所以你子类必须明确调用一个父类的构造器。我也是刚学JAVA...
      

  2.   

    你需要看看你的Circle类的定义
    这个异常的意思是 无法找到Circle的无参构造子比如 如果子类Cyliner的构造函数写成
    Cyliner(.../*参数略过*/){
      //没有确实使用super指定调用父类的哪个构造函数的话 就会默认调用父类的无参构造函数
    }
    而一般的 如果我们定义的一个类没有定义任何的构造函数的话 那么运行时会自动的为这个类设定一个默认的 无参数的构造子 但是 如果你定义了其它的构造子的话 就不在自动生成这个默认构造子了
    就像是
    class A{
      public A(int i){  //这里定义了一个构造函数 所以 就不会有默认构造子
      }
    }class B extends A{
      /*
      public B(int i){
        // 你这里没有指定要调用super(i)的话 就会默认去找A的无参数的构造子 但是 这个无参的构造函数是不存在的 所以就会抛出刚才的
        //        那个异常
      }
       */
      public B(int i){
        super(i);  //这样就是对的了
      }
    }由于没有看到具体的代码 也只是从你的异常上猜是这个问题 好好看一下书是能解决的咯