格式: ? extends 上限类型
public abstract class Shape {
public abstract void draw(Canvas c);
}
public class Circle extends Shape{
@Override public void draw(Canvas c) { // TODO Auto-generated method stub } }
public class Rectangle extends Shape{
@Override public void draw(Canvas c) { // TODO Auto-generated method stub }
}
public class Canvas {
public void drawAll(List<? extends Shape> shapes){
for(Shape s:shapes){
s.draw(this);
}
}
}