1700467096
1700467097
}
1700467098
1700467099
return b;
1700467100
1700467101
}
1700467102
1700467103
//取得下一个值
1700467104
1700467105
public IProject next(){
1700467106
1700467107
return(IProject)this.projectList.get(this.currentItem++);
1700467108
1700467109
}
1700467110
1700467111
//删除一个对象
1700467112
1700467113
public void remove(){
1700467114
1700467115
//暂时没有使用到
1700467116
1700467117
}
1700467118
1700467119
}
1700467120
1700467121
细心的读者可能会从代码中发现一个问题,java.util.iterator接口中定义next()方法的返回值类型是E,而你在ProjectIterator中返回值却是IProject,E和IProject有什么关系?
1700467122
1700467123
E是JDK 1.5中定义的新类型:元素(Element),是一个泛型符号,表示一个类型,具体什么类型是在实现或运行时决定,总之它代表的是一种类型,你在这个实现类中把它定义为ProjectIterator,在另外一个实现类可以把它定义为String,都没有问题。它与Object这个类可是不同的,Object是所有类的父类,随便一个类你都可以把它向上转型到Object类,也只是因为它是所有类的父类,它才是一个通用类,而E是一个符号,代表所有的类,当然也代表Object了。
1700467124
1700467125
都写完毕了,看看我们的Boss类有多少改动,如代码清单20-8所示。
1700467126
1700467127
代码清单20-8 老板看报表
1700467128
1700467129
public class Boss{
1700467130
1700467131
public static void main(String[]args){
1700467132
1700467133
//定义一个List,存放所有的项目对象
1700467134
1700467135
IProject project=new Project();
1700467136
1700467137
//增加星球大战项目
1700467138
1700467139
project.add(“星球大战项目ddddd”,10,100000);
1700467140
1700467141
//增加扭转时空项目
1700467142
1700467143
project.add(“扭转时空项目”,100,10000000);
1700467144
1700467145
//增加超人改造项目
[
上一页 ]
[ :1.700467096e+09 ]
[
下一页 ]