看到实用类,不知Iterator中的hasnext(),next(),remove()三个方法在哪个类中实现的,为什么很多对象类如vector都可以直接使用它了.

解决方案 »

  1.   

    多了 而且好多类都是用内部类实现这个接口 然后用方法把该类返回给你使用
    这就是遍历器模式 如LinkedList等
      

  2.   

    谢谢jy02209334啊,在你的提示下,我终于找到了答案.
    原来在AbstractList类下有一个内部类Itr实现了Iterator的方法,前面也看了这个类,但不想是用内部类来实现的.
    多谢了!
      

  3.   

    不同的collection用各自不同的内部类实现的
      

  4.   

    像ArrayList这样的具体类,用内部类实现,每个具体类为自己实现一个。
      

  5.   

    第一,当你面对一个接口的时候,你不需要“太”关心它到底是哪里实现的,只要implement这个接口,一定会遵守其中的技术指标的,就好像你家里用电,只知道它220V/50Hz交流即可,管他那个电厂过来的:P在明确了第一个前提下,关心一下具体实现是有益的。任何时候答应object.getClass()都可以看到对象的真实类型。其中$前的是外部类,$后的是内部类(可能有多层嵌套),$后数字代表匿名内部类,数字是在外部类中的出现顺序。三,具体到Iterator,由于它需要访问对象的内部资源,通常都是由内部类实现的