2.定义一个接口Volume,其中包含一个计算体积的抽象方法calculateVolume(),然后设计,Sphere和 Cuboid两个类都实现这个接口中的方法calculate Volume(),分别计算球体和长方体的体积。定义主类Main要求在main方法中,创建以上类的对象,并分别作为参数传参并调用下面的方法:public static double calVolume(Volume v){return v. calculate Volume();}用Java
时间: 2024-02-09 16:08:11 浏览: 222
面向对象与Java实现(抽象类、接口
好的,以下是实现你的要求的代码:
```java
interface Volume {
double calculateVolume();
}
class Sphere implements Volume {
private double radius;
public Sphere(double r) {
radius = r;
}
public double calculateVolume() {
return 4.0 / 3.0 * Math.PI * Math.pow(radius, 3);
}
}
class Cuboid implements Volume {
private double length;
private double width;
private double height;
public Cuboid(double l, double w, double h) {
length = l;
width = w;
height = h;
}
public double calculateVolume() {
return length * width * height;
}
}
public class Main {
public static double calVolume(Volume v) {
return v.calculateVolume();
}
public static void main(String[] args) {
Sphere s = new Sphere(2.0);
Cuboid c = new Cuboid(3.0, 4.0, 5.0);
System.out.println("The volume of the sphere is " + calVolume(s));
System.out.println("The volume of the cuboid is " + calVolume(c));
}
}
```
以上代码定义了一个接口`Volume`,其中包含一个计算体积的抽象方法`calculateVolume()`。然后定义了`Sphere`和`Cuboid`两个类都实现了这个接口中的方法`calculateVolume()`,分别计算球体和长方体的体积。最后定义了主类`Main`,在`main`方法中,创建了以上类的对象,并分别作为参数传参并调用`calVolume`方法,打印出体积的结果。
阅读全文