java 有关There is no default constructor available in......的问题

class circle{
    private double radius;
    public circle(int a){

    }

}

class cylinder extends circle {
    private double length;
   public cylinder(){
        length = 1;
    }
}

就是上面两个类,student是person的子类,这个问题就是student的构造器回默认调用父类的无参构造器。一个类在没有构造器时会默认自己拥有一个无参构造器,但是当它有了自己的有参构造器之后,这个默认的无参构造器就消失了,所以当子类的构造器调用父类的无参构造器会发现父类没有,所以报错,我们只要给父类加一个无参构造器就行了。
如下

class circle{
    private double radius;
    public circle(){
       radius = 1;
           }
    public circle(int a){

    }

}

class cylinder extends circle {
    private double length;
   public cylinder(){
        length = 1;
    }
}

你可能感兴趣的:(java)