这其中的this代表什么?整个代码的意思我很糊涂。
import java.util.*;/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@
* @version 1.0
*/
public class Canvas
{
//同时在画布上绘制多个形状
public void drawAll(List<? extends Shape> shapes)
{
for (Shape s : shapes)
{
s.draw(this);
}
}
public static void main(String[] args)
{
List<Circle> circleList = new ArrayList<Circle>();
circleList.add(new Circle());
Canvas c = new Canvas();
c.drawAll(circleList);
}
}
/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@
* @version 1.0
*/
//定义一个抽象类Shape
public abstract class Shape
{
public abstract void draw(Canvas c);
}
/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@
* @version 1.0
*/
//定义Shape的子类Circle
public class Circle extends Shape
{
//实现画图方法,以打印字符串来模拟画图方法实现
public void draw(Canvas c)
{
System.out.println("在画布" + c + "画一个圆");
}
}