利用Java基本抽象类的使用创建一个抽象类Shape,定义一个抽象方法area(),并创建两个子类Circle和Rectangle,并利用Test分别实现area()方法
时间: 2024-10-23 18:18:27 浏览: 35
在Java中,我们可以创建一个抽象类来代表一类共享特性或行为的对象。例如,我们创建一个名为`Shape`的抽象类,它有一个抽象方法`area()`,表示所有形状都应提供其面积的计算方式,尽管具体的实现会因形状而异。
首先,让我们定义`Shape`抽象类:
```java
abstract class Shape {
// 抽象方法 area()
public abstract double area();
}
```
然后,我们可以为`Shape`类创建两个子类:`Circle`和`Rectangle`,每个子类都会实现`area()`方法:
```java
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double area() {
return length * width;
}
}
```
接下来,我们可以创建一个`Test`类来测试这两个子类的`area()`方法:
```java
public class Test {
public static void main(String[] args) {
Circle circle = new Circle(5);
System.out.println("Circle's area: " + circle.area());
Rectangle rectangle = new Rectangle(4, 6);
System.out.println("Rectangle's area: " + rectangle.area());
}
}
```
在这个例子中,`Test`类展示了如何通过`Shape`类型的引用,动态地指向`Circle`或`Rectangle`实例,从而调用它们各自的`area()`方法,这就是多态性的体现。
阅读全文