使用Java编写一个抽象类,内部抽象类内至少包含2个抽象方法。编写一个子类继承抽象类,并在main函数中进行测试输出。提示可以定义几何体类,继承实现不同的面积和体积计算。
时间: 2024-11-22 08:47:19 浏览: 15
好的,我可以为您介绍一个使用Java编写的抽象类和内部抽象类的示例。在这个示例中,我们将创建一个抽象类`Shape`,它包含两个抽象方法`calculateArea`和`calculateVolume`。内部抽象类`Circle`和`Rectangle`将继承这个抽象类,并实现各自的面积和体积计算方法。
首先,我们创建一个名为`Shape`的抽象类:
```java
public abstract class Shape {
// 内部抽象类Circle和Rectangle将继承这个抽象类
// 定义一个抽象方法calculateArea
public abstract double calculateArea();
// 定义一个抽象方法calculateVolume
public abstract double calculateVolume();
}
```
接下来,我们创建一个内部抽象类`Circle`,它继承自`Shape`类:
```java
public abstract class Circle extends Shape {
// Circle类的具体实现
private double radius;
// 构造方法
public Circle(double radius) {
this.radius = radius;
}
// 具体实现calculateArea方法
public double calculateArea() {
return Math.PI * Math.pow(radius, 2);
}
}
```
我们再创建一个内部抽象类`Rectangle`,它也继承自`Shape`类:
```java
public abstract class Rectangle extends Shape {
// Rectangle类的具体实现
private double length;
private double width;
// 构造方法
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 具体实现calculateVolume方法
public double calculateVolume() {
return length * width * height;
}
}
```
现在,我们可以创建一个名为`Geometry`的子类,它继承自抽象类`Shape`:
```java
public class Geometry {
public static void main(String[] args) {
Shape circle = new Circle(5); // 使用半径为5的圆形对象进行测试输出面积和体积
Shape rectangle = new Rectangle(3, 4); // 使用长为3宽为4的矩形对象进行测试输出面积和体积
System.out.println("Circle area: " + circle.calculateArea()); // 输出圆形面积
System.out.println("Circle volume: " + circle.calculateVolume()); // 输出圆形体积
System.out.println("Rectangle area: " + rectangle.calculateArea()); // 输出矩形面积
System.out.println("Rectangle volume: " + rectangle.calculateVolume()); // 输出矩形体积
}
}
```
在这个示例中,我们创建了一个抽象类`Shape`,它包含两个抽象方法。然后我们创建了两个内部抽象类`Circle`和`Rectangle`,它们分别实现了各自的面积和体积计算方法。最后,我们创建了一个名为`Geometry`的子类,它继承自抽象类`Shape`,并在main函数中进行测试输出。这个示例演示了如何使用Java编写一个抽象类和内部抽象类,以及如何通过继承来实现不同的面积和体积计算。
阅读全文