一般使用哪种迭代器,有能进行类型内部分析的吗?
//Test.java
import java.util.*;
//抽象基类
abstract class O{
public void draw(){
}
}
class B extends O{
public void draw(){
System.out.println("this is B");
}
}
class C extends O{
public void draw(){
System.out.println("this is C");
}
}
public class Inter{
public static void main(String[] args){
Vector v=new Vector();
v.add(new B());
v.add(new C());
((B)(v.get(0))).draw();//这样类型强制转换是可以的
//能不能改造一下替换如下的形式,真正的实现动态绑定
//让迭代器内部分配具体的对象类型
//或者是应该用别的什么迭代器
//用数组可以,但是数组的大小是确定的
//v.get(0).draw();
}
}
再比如也就是像数组那样
O o=new {new B(),new C()};
//这里就会调用B的方法draw()了
o[0].draw(); //this is B
//这里就会调用C的方法draw()了
o[1].draw(); //this is C