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 阅读 6 次 更新于 2025-07-19 07:47:24 我来答关注问题0
  • Cylinder缺少一个空参构造函数 public Cylinder() { super();} 因为在Ringcylinder的构造函数中会默认调用 super();而Cylinder不存在该构造函数所以报错。

  •  翡希信息咨询 Java编程:继承方法重写Override

    继承的概念:继承是Java面向对象编程中的一个核心概念,它允许子类获取父类的属性和方法。通过使用extends关键字,子类可以继承父类的所有非私有属性和方法。方法重写的定义:方法重写是指在子类中重新定义父类中已经定义过的方法。重写的方法必须具有相同的方法名、参数列表和返回类型。重写的作用:重写的主...

  •  templar_1 java 继承时,子类存在和父类相同的属性和方法会怎么样?

    您好,在 Java 中,如果子类存在和父类相同的属性和方法,则子类会覆盖父类的属性和方法。这种情况下,子类会继承父类的属性和方法,但是如果子类重新定义了和父类相同的属性和方法,则子类的属性和方法会覆盖父类的属性和方法。如果子类覆盖了父类的方法,那么在调用该方法时,实际上会调用子类的方法而...

  •  Cool__Wu Java代码bug求助,实际参数列表与形式参数列表长度不同?

    实际参数列表必须和形式参数列表保持一致。第三张图中定义的get方法是不需要参数的,所以调用是不可以传参数。如果有帮助到你,请点击采纳。

  • anonymous java实际参数列表和形式参数列表长度不同!

    class Cat extends Animal { //增加无参构造器 public Cat(){} //增加名字和年龄的构造器 public Cat(String name, int age){ super(name,age); } public void eat() { System.out.println("猫吃鱼"); }}②、其他代码不变,修改TestDemo类为public访问权限:pub...

檬味博客在线解答立即免费咨询

Java相关话题

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