接口用来描述类的功能,而不指明具体的实现方法。但是Iterator作为一个接口继承与collection中的set,它的方法包含hasnext()next remove,方法又能实现,那么不是与原定义矛盾了吗?
解决方案 »
- RandomAccessFile小问题,在线等
- 我想用IO库将转换代码风格
- invokeLater的调用顺序问题。比较简单的程序
- 请教一个?判断结果的问题
- EOF在windows环境下是ctrl + z 还是ctrl + c
- 什么是 alpha-heap
- jar文件,不知道错在那里?
- java的风格到哪里找阿??
- static方法有没有多线程的问题?
- linkguic(rake)分数等着你了啊,快进来告诉我jade怎么用啊
- i/o请求会使线程进入阻塞状态,那使用system.out.print()向控制台输出,会不会是线程阻塞
- 现在在使用ecplise中为什么的给类加什么ID(versionID),这个id有什么用,不加有什么问题
Iterator it=new Iterator()
这样new出它的对象吗???
Collection c = new HashSet();
Iterator i = c.iterator();
i.hasnext(...);
不是调用了它的方法了吗
Iterator作为一个接口继承与collection中的set???? 这话什么意思...
Collection c = new HashSet();
Iterator i = c.iterator(); 也不是说set派生Iterator接口啊 而是Collection实现了Iterator接口
而你说的Iterator接口是java.util包下面的 有3个方法hasNext(),next(),remove() 这下应该清楚了吧 呵呵
Iterator i = c.iterator();
i.hasnext(...); ========================
Collection是一个接口,HashSet是Collection的实现类(非抽象类,否则就new操作非法)!
当调用c.iterator()时,实际是去HashSet类中找到这个方法并执行,该方法的返回值是一个迭代器对象!
接着的i.hasnext()并不是调用Iterator中的方法,则是调用了由Collection声明、由HashSet类new出的对象c调用HashSet类中的hasnext()方法!!!其实这些只是涉及到了RTTI(运行期类型检查)的知识!自己好好看看书吧!!