package b; public class yx { public static void main(String[] args) { Cuboid v = new Cuboid(); v.volume(); } } class Rectangle{ double length; double width; } class Cuboid extends Rectangle{ double height; public Cuboid(double length,double width,double height) { this.length=length; this.width=width; this.height=height; } void volume() { length=10; width=5; height=2; System.out.println("体积为:" +length*width*height); } }
时间: 2023-12-15 13:10:01 浏览: 76
你的代码中存在一些问题:
1. `yx` 类和 `Cuboid` 类不在同一个包中,需要将 `Cuboid` 类声明为 `public` 类型,或将两个类放在同一个包中。
2. 在 `yx` 类的 `main` 方法中,创建了一个没有参数的 `Cuboid` 对象 `v`,但是你的 `Cuboid` 类中只定义了一个有参数的构造方法,因此需要在创建对象时传入三个参数。
3. `volume` 方法中的计算公式有误,应该是长乘以宽乘以高。
下面是修改后的示例代码:
```java
package b;
public class yx {
public static void main(String[] args) {
Cuboid v = new Cuboid(10, 5, 2);
v.volume();
}
}
class Rectangle {
double length;
double width;
}
public class Cuboid extends Rectangle {
double height;
public Cuboid(double length, double width, double height) {
this.length = length;
this.width = width;
this.height = height;
}
void volume() {
System.out.println("体积为:" + length * width * height);
}
}
```
希望能够帮助到你。
阅读全文