JAVA继承问题,实际参数列表与形式参数列表长度不同怎么解决

而Cylinder不存在该构造函数所以报错。
JAVA继承问题,实际参数列表与形式参数列表长度不同怎么解决
Cylinder缺少一个空参构造函数
public Cylinder() {
super();
}

因为在Ringcylinder的构造函数中会默认调用
super();
而Cylinder不存在该构造函数所以报错。2013-09-16
public Ringcylinder(double radius,double height,double innerradius){
this.radius=radius;
this.height=height;
this.innerradius=innerradius;
}

这个构造函数虽然定义了radius, height, innerradius,但在print之前没有给构造函数传入这个几个参数,所以导致出现此问题,再调用print之前,可以设置Ringcylinder(0.5,3,1),这样构造函数才能进行初始化全局变量,全局变量才能计算。不然首先没有参数为空的构造函数,有没有将参数传入,必然会报错。2013-09-16
首先,构造函数时可以重载的,可以解决你的标题中的问题

而,你的代码中的问题并不像你的标题那样,这是因为继承中,基类没有办法构造造成的(基类没有默认构造函数,或者没有给基类提供参数)。2013-09-16
在Cylinder类中写个什么参数都不带的构造方法就完美了2013-09-16
mengvlog 阅读 47 次 更新于 2025-10-31 11:07:35 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部