定义接口Shape,具有抽象方法draw,实现该接口的类具有图形的绘制功能;定义类Painter,具有静态方法drawGraph(Shape s);应用匿名内部类实现三角形和圆的绘制。
时间: 2024-10-27 10:07:23 浏览: 22
定义接口`Shape`是为了抽象出图形的基本特征,它包含了一个抽象方法`draw()`,表示所有图形都应该具有的绘制功能。这个接口可以看作是一个契约,任何想要被称为图形的类都必须实现`draw()`方法。
接下来,我们创建一个名为`Painter`的类,它有一个静态方法`drawGraph(Shape s)`,这个方法接受一个`Shape`类型的对象作为参数,用于调用其`draw()`方法,从而实现对各种形状的通用绘制操作。
在实际应用中,我们可以利用匿名内部类来实例化并实现`Shape`接口。例如,对于一个三角形,我们可以这样做:
```java
public static void main(String[] args) {
Shape triangle = new Shape() {
public void draw() {
// 实现三角形的绘制逻辑
System.out.println("Drawing a triangle");
}
};
Painter.drawGraph(triangle);
// 类似地,对于圆形
Shape circle = new Shape() {
public void draw() {
// 实现圆形的绘制逻辑
System.out.println("Drawing a circle");
}
};
Painter.drawGraph(circle);
}
```
阅读全文