interface DrawCircle { /* 绘制圆形 */ public (1) ; } class RedCircleimplementsDrawCircle { /* 绘制红色圆形 */ public void drawCircle( intradius, int x, int y ) { System.out.println( "DrawingCircle[red,radius:" + radius + ",x:" + x + ",y:" + y + "]" ); } } class GreenCircleimplementsDrawCircle { /* 绘制绿色圆形 */ public void draw Circle( intradius, int x, int y ) { System.out.println( "DrawingCircle[green,radius:" + radius + ",x: " + x + ",y: " + y + "]" ); } } abstract class Shape { /* 形状 */ protected (2); public Shape( DrawCircledrawCircle ) { this.drawCircle = drawCircle; } public abstract void draw(); } class CircleextendsShape { /* 圆形 */ private int x, y, radius; public Circle( int x, int y, int radius, DrawCircledrawCircle ) { (3); this.x = x; this.y = y; this.radius = radius; } publicvoiddraw() { drawCircle.(4); } } public class DrawCircleMain { public static void main( String[] args ) { ShaperedCircle = newCircle( 100, 100, 10, (5) ) ; /* 绘制红色圆形 */ ShapegreenCircle = newCircle( 200, 200, 10, (6) ) ; /* 绘制绿色圆形 */ redCircle.draw(); greenCircle.draw(); } }