iterator方法中有多态存在?是否可以举例说明下? iterator方法中有多态存在?是否可以举例说明下?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在iterator中实现多态 好像没什么意义 public Iterator iterator() { return new Iterator(){ int init=0; public boolean hasNext() { Node node=head; for(int i=0;i<init;i++){ node=node.next; } if(node.next!=null){ return true; } return false; } public Object next() { Node node=head; for(int i=0;i<=init;i++){ node=node.next; } init++; return node.data; } public void remove() { MyLinkedList.this.remove(init-1); init--; } };写的一个集合重写的iterator() Collection类实现了Iterable接口,而Iterable接口有一个iterator方法.各种各样的Collection类(ArrayList, HashSet等等)都会根据其底层实现覆盖iterator方法,是使用了工厂方法的设计模式,而工厂方法模式也正正是利用了多态性.体现在,当你拿着一个Collection的引用,然后调用它的iterator方法,返回的是这个引用真正指向的对象所实现的Iterator. 补充一下,上面提到了工厂方法模式:Iterable是抽象工厂角色iterator()是工厂方法Iterator是抽象产品角色各种各样的Collection类是具体工厂角色各个iterator方法返回的Iterator是具体产品角色 一个小java 程序题目 如何美化Java桌面程序??类似QQ的界面是如何作出来的 Double相除,如何只精确到小数点后2为呢 一个小程序,为什么数大的时候就不能出结果了呢? 这个错误怎么解决啊 简单问题 运行javac Test.java的时候抱错 详细情况如下 如何在 java中调用 c函数~! 关于JTree的一个问题 怎么调用涵有THROWS的方法? 我是java的菜鸟 JTABLE 和数据库 Java怎么将字符转成无符号字节
return new Iterator(){
int init=0;
public boolean hasNext() {
Node node=head;
for(int i=0;i<init;i++){
node=node.next;
}
if(node.next!=null){
return true;
}
return false;
} public Object next() {
Node node=head;
for(int i=0;i<=init;i++){
node=node.next;
}
init++;
return node.data;
} public void remove() {
MyLinkedList.this.remove(init-1);
init--;
}
};
写的一个集合重写的iterator()
iterator()是工厂方法
Iterator是抽象产品角色
各种各样的Collection类是具体工厂角色
各个iterator方法返回的Iterator是具体产品角色