引言
在面向对象编程中,抽象类是一种重要的概念,它提供了一种用于建模共性和规范子类的方式。本文将通过一个简单的Java示例来介绍抽象类的基本使用,以及抽象类与具体类的关系。
抽象类的定义
在示例中,我们定义了一个抽象类 Shape
,它包含了一个抽象方法 calculateArea()
,用于计算形状的面积。
// 定义抽象类 Shape
abstract class Shape {// 抽象方法,用于计算形状的面积abstract double calculateArea();
}
具体形状类的实现
我们创建了两个具体的形状类 Circle
和 Rectangle
,它们分别继承自抽象类 Shape
,并实现了抽象方法 calculateArea()
。
// 圆形类,继承自抽象类 Shape
class Circle extends Shape {double radius;// 构造方法Circle(double radius) {this.radius = radius;}// 实现抽象方法,计算圆的面积@Overridedouble calculateArea() {return Math.PI * radius * radius;}
}// 矩形类,继承自抽象类 Shape
class Rectangle extends Shape {double length;double width;