关于Java抽象类的编程题
本篇文章给大家带来《关于Java抽象类的编程题》,石家庄人才网对文章内容进行了深度展开说明,希望对各位有所帮助,记得收藏本站。
题目:
设计一个抽象类Shape,表示图形,包含以下内容:
- 抽象方法:calculateArea(),用于计算图形面积
- 抽象方法:calculatePerimeter(),用于计算图形周长
设计两个子类Rectangle(矩形)和Circle(圆形),继承Shape类,并实现抽象方法。
- Rectangle类包含属性:length(长)、width(宽)
- Circle类包含属性:radius(半径)
在测试类中创建Rectangle和Circle对象,并调用calculateArea()和calculatePerimeter()方法计算并输出它们的面积和周长。
参考答案:
```java// 抽象类Shapeabstract class Shape { // 抽象方法:计算面积 public abstract double calculateArea(); // 抽象方法:计算周长 public abstract double calculatePerimeter();}// 矩形类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 calculateArea() { return length * width; } @Override public double calculatePerimeter() { return 2 * (length + width); }}// 圆形类class Circle extends Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double calculateArea() { return Math.PI * radius * radius; } @Override public double calculatePerimeter() { return 2 * Math.PI * radius; }}// 测试类public class Test { public static void main(String[] args) { // 创建矩形对象 Rectangle rectangle = new Rectangle(5, 10); // 计算并输出矩形的面积和周长 System.out.println("矩形的面积:" + rectangle.calculateArea()); System.out.println("矩形的周长:" + rectangle.calculatePerimeter()); // 创建圆形对象 Circle circle = new Circle(5); // 计算并输出圆形的面积和周长 System.out.println("圆形的面积:" + circle.calculateArea()); System.out.println("圆形的周长:" + circle.calculatePerimeter()); }}```
解析:
1. 抽象类(Shape):
- 使用 `abstract` 关键字声明抽象类。
- 包含两个抽象方法 `calculateArea()` 和 `calculatePerimeter()`,它们没有方法体,以分号结尾。石家庄人才网小编告诉你,抽象方法定义了子类必须实现的行为。
2. 子类(Rectangle 和 Circle):
- 使用 `extends` 关键字继承抽象类 `Shape`。
- 必须实现父类中定义的所有抽象方法,否则子类也必须声明为抽象类。
- 根据各自的特性计算面积和周长。
3. 测试类(Test):
- 创建 `Rectangle` 和 `Circle` 对象。
- 调用 `calculateArea()` 和 `calculatePerimeter()` 方法计算并输出结果。
石家庄人才网小编对《关于java抽象类的编程题》内容分享到这里,如果有相关疑问请在本站留言。
- 上一篇:python网站
- 下一篇:asp.net state service
版权声明:《关于Java抽象类的编程题》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/1086.html