编写一个Java程序,在程序中定义一个接口 Shape,包含两个抽象方法,一个是计算面积 area(),一个计算体积volume(),再定义一个类 Cylinder,实现这个Shape接口,设计一个程序,输出面积和体积
时间: 2023-11-11 12:05:36 浏览: 236
Java实现运用上转型对象抽象方法计算圆形或圆锥的面积、周长等成员变量
下面是Java程序的实现:
```java
interface Shape {
double area(); // 计算面积
double volume(); // 计算体积
}
class Cylinder implements Shape {
double radius, height; // 圆柱的半径和高
Cylinder(double r, double h) {
radius = r;
height = h;
}
public double area() {
return 2 * Math.PI * radius * radius + 2 * Math.PI * radius * height;
}
public double volume() {
return Math.PI * radius * radius * height;
}
}
public class MainClass {
public static void main(String[] args) {
Cylinder cylinder = new Cylinder(2, 5);
System.out.println("圆柱的面积为:" + cylinder.area());
System.out.println("圆柱的体积为:" + cylinder.volume());
}
}
```
上述程序中,定义了一个接口Shape,包含两个抽象方法:area()和volume()。在Cylinder类中实现了这两个方法,分别计算出圆柱的表面积和体积。在主类MainClass中创建一个Cylinder类的对象cylinder,并调用它的area()方法和volume()方法输出面积和体积。输出结果如下:
```
圆柱的面积为:94.24777960769379
圆柱的体积为:62.83185307179586
```
由此可知,通过接口的使用,可以实现对类的规范,同时也可以通过多态实现对不同实现接口的类的调用。
阅读全文