用java语言定义一个名为Cylinder类表示圆柱,他继承Circle类(参考编程练习4.2),要求定义一个变量height表示圆柱高度。 (1)覆盖getArea()方法求圆柱的表面积;定义getVolume()方法求圆柱体积;定义无参构造方法和带radius和height两个参数的构造方法。 (2)编码测试程序,提示用户输入圆柱的底面圆的半径和高度,程序创建一个圆柱对象,测试并输出圆柱表面积和体积public class Cylinder extends Circle{
时间: 2024-03-04 12:49:08 浏览: 198
包含圆类的程序(含几种构造方法)java语言实现
以下是使用Java语言定义的Cylinder类:
```java
public class Cylinder extends Circle {
private double height;
public Cylinder() {
super();
height = 0;
}
public Cylinder(double radius, double height) {
super(radius);
this.height = height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
@Override
public double getArea() {
return super.getArea() * 2 + super.getCircumference() * height;
}
public double getVolume() {
return super.getArea() * height;
}
}
```
Cylinder类继承自Circle类,并新增一个height属性,表示圆柱的高度。类中定义了无参构造方法和带radius和height两个参数的构造方法。getArea()方法覆盖了父类的方法,用于计算圆柱的表面积。getVolume()方法用于计算圆柱的体积。
以下是测试程序的代码:
```java
import java.util.Scanner;
public class TestCylinder {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the radius of the cylinder: ");
double radius = input.nextDouble();
System.out.print("Enter the height of the cylinder: ");
double height = input.nextDouble();
Cylinder cylinder = new Cylinder(radius, height);
System.out.println("The surface area of the cylinder is: " + cylinder.getArea());
System.out.println("The volume of the cylinder is: " + cylinder.getVolume());
}
}
```
程序中使用Scanner类提示用户输入圆柱的底面圆的半径和高度,创建了一个Cylinder对象,并输出了圆柱的表面积和体积。
阅读全文