创建一个名为“Shape”的抽象类,该类内部含有两个抽象方法getGirth(int i)和getArea(int i),分别用来计算周长和面积;“Shape”类派生出子类“Circle”,“Circle”类中按照圆的周长和面积的计算方式对“Shape”类中两个抽象方法进行覆盖,并在main方法中进行验证(要求通过键盘输入半径长度为2,分别输出周长和面积)。请写出Shape、Circle类的源代码。用Java
时间: 2024-02-18 18:02:37 浏览: 200
以下是 Shape 和 Circle 类的源代码:
```java
import java.util.Scanner;
// 抽象类 Shape
abstract class Shape {
// 抽象方法,用于计算周长
abstract double getGirth(double r);
// 抽象方法,用于计算面积
abstract double getArea(double r);
}
// Circle 类继承自 Shape 类
class Circle extends Shape {
// 重写 getGirth 方法,计算圆的周长
double getGirth(double r) {
return 2 * Math.PI * r;
}
// 重写 getArea 方法,计算圆的面积
double getArea(double r) {
return Math.PI * r * r;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double r = scanner.nextDouble();
// 创建 Circle 对象
Circle circle = new Circle();
// 调用 getGirth 方法计算圆的周长
double girth = circle.getGirth(r);
System.out.println("周长:" + girth);
// 调用 getArea 方法计算圆的面积
double area = circle.getArea(r);
System.out.println("面积:" + area);
}
}
```
在 main 方法中,首先使用 Scanner 对象获取输入的半径长度,然后创建 Circle 对象,调用 getGirth 和 getArea 方法计算圆的周长和面积,最后将结果输出到控制台上。
阅读全文