찾다

 >  Q&A  >  본문

java - 如图代码,Collection 类中的iterator()是抽象方法,为什么可以调用?

        Collection    c1 =new ArrayList();
        c1.add("hello");
        c1.add(1);
        Collection    c2 =new ArrayList();
        c2.add(new Student() );
        c2.addAll(c1);
        c2.add("我");
        Iterator it = c2.iterator();

Collection 与List 还有ArrayList都没有重写iterator()方法,为什么可以最后一步这样调用呢?

天蓬老师天蓬老师2802일 전739

모든 응답(3)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-18 10:49:56

    ArrayListAbstractList 클래스에서 상속되며 AbstractList 클래스는 List 인터페이스의 iterator() 메서드를 재정의합니다.

    으아악

    여기서 ItrAbstractList의 내부 클래스이며 Iterator 인터페이스를 구현합니다.

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 10:49:56

    ArrayList는 없나요? ?

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:49:56

    이 Iterator는 ArrayList의 내부 클래스여야 합니다. ArrayList에서 찾을 수 없는 경우 해당 기본 클래스에 있어야 합니다. Iterator는 컬렉션 클래스마다 달라야 합니다.

    회신하다
    0
  • 취소회신하다