java - 如图代码,Collection 类中的iterator()是抽象方法,为什么可以调用?
天蓬老师
天蓬老师 2017-04-18 10:47:56
0
3
774
        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()方法,为什么可以最后一步这样调用呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(3)
小葫芦

ArrayList mewarisi daripada kelas AbstractList dan kelas AbstractList mengatasi kaedah List antara muka iterator():

public Iterator<E> iterator() {
    return new Itr();
}

di mana Itr ialah kelas dalaman AbstractList dan melaksanakan antara muka Iterator.

迷茫

Adakah terdapat ArrayList? ?

Peter_Zhu

Iterator ini sepatutnya menjadi kelas dalaman ArrayList Jika ia tidak ditemui dalam ArrayList, ia sepatutnya berada dalam kelas asasnya untuk kelas koleksi yang berbeza.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan