设计一个抽象类Shape,包括面积属性(受保护的),求面积的抽象方法。 设计一个接口Run,里面包含方法goRun()。 设计一个类Circle继承Shape,实现Run接口,包含半径属性,构造方法(给半径赋值)、求面积的方法、goRun方法(方法输出“我可以滚动!”) 用Java写
时间: 2024-03-20 07:40:31 浏览: 14
好的,以下是Java代码实现:
```java
// 抽象类 Shape
abstract class Shape {
protected double area; // 面积属性
// 求面积的抽象方法
public abstract void calculateArea();
}
// 接口 Run
interface Run {
void goRun();
}
// 类 Circle,继承 Shape,实现 Run
class Circle extends Shape implements Run {
private double radius; // 半径
// 构造方法
public Circle(double radius) {
this.radius = radius;
}
// 求面积的方法
public void calculateArea() {
area = Math.PI * radius * radius;
}
// 实现 Run 接口的 goRun 方法
public void goRun() {
System.out.println("我可以滚动!");
}
}
// 测试代码
public class Test {
public static void main(String[] args) {
Circle circle = new Circle(2.0);
circle.calculateArea();
System.out.println("圆的面积为:" + circle.area);
circle.goRun();
}
}
```
在上面的代码中,我们定义了抽象类 `Shape`,其中包含受保护的面积属性 `area` 和求面积的抽象方法 `calculateArea()`。接着,我们定义了接口 `Run`,里面包含了方法 `goRun()`。最后,我们定义了类 `Circle`,继承了 `Shape` 类,并实现了 `Run` 接口。在 `Circle` 类中,我们重写了 `calculateArea()` 方法和实现了 `goRun()` 方法。在测试代码中,我们创建了一个 `Circle` 对象,计算出其面积并输出,然后调用了 `goRun()` 方法输出了相应的信息。