我想继承上一个类Circle,
我是这样些的:public class Cyliner estends Circle{
}
但是他提示错误:Implicit super constructor Circle()is undefined for default constractor .Must define an explicit constructor.
呵呵外语水平不够,看不懂。希望大家给我点帮助,谢谢了啊!
我是这样些的:public class Cyliner estends Circle{
}
但是他提示错误:Implicit super constructor Circle()is undefined for default constractor .Must define an explicit constructor.
呵呵外语水平不够,看不懂。希望大家给我点帮助,谢谢了啊!
这个异常的意思是 无法找到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); //这样就是对的了
}
}由于没有看到具体的代码 也只是从你的异常上猜是这个问题 好好看一下书是能解决的咯