用Java建立个圆,并用其来计算圆柱和圆锥
时间: 2024-12-31 16:49:29 浏览: 5
在Java中,我们可以创建一个`Circle`类来表示圆的基本属性,如半径`radius`和面积`area`。然后,我们可以利用多态性来创建可以处理圆柱和圆锥形状的更通用的类。
首先,我们定义`Circle`类:
```java
public class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
// 计算面积的方法
public double getArea() {
return Math.PI * radius * radius;
}
}
```
接着,我们可以创建两个派生类`Cylinder`和`Conic`,它们都包含一个`Circle`实例:
```java
public abstract class Shape {
protected Circle baseCircle;
public Shape(Circle circle) {
baseCircle = circle;
}
}
public class Cylinder extends Shape {
private double height;
public Cylinder(Circle base, double height) {
super(base);
this.height = height;
}
// 计算体积的方法,这里使用了多态
public double getVolume() {
return baseCircle.getArea() * height;
}
}
public class Cone extends Shape {
private double height;
public Cone(Circle base, double height) {
super(base);
this.height = height;
}
// 计算体积的方法,同样用了多态
public double getVolume() {
return (1.0 / 3.0) * Math.PI * baseCircle.getArea() * height;
}
}
```
现在你可以创建并使用`Cylinder`和`Cone`对象来计算各自的体积:
```java
public static void main(String[] args) {
Circle circle = new Circle(5); // 创建一个半径为5的圆
Cylinder cylinder = new Cylinder(circle, 10); // 圆柱高度为10
System.out.println("Cylinder volume: " + cylinder.getVolume());
Cone cone = new Cone(circle, 8); // 圆锥高度为8
System.out.println("Cone volume: " + cone.getVolume());
}
```
阅读全文