java – 从同一个类中重写两次相同的方法
发布时间:2020-12-15 04:39:06 所属栏目:Java 来源:网络整理
导读:我理解iterator()方法如何与ArrayList类一起使用.在ArrayList类中,我发现iterator()方法从同一个类AbstractList重写了两次. public IteratorE iterator() { return new Itr(); // Itr is an inner private class of // ArrayList which // implements Iterat
我理解iterator()方法如何与ArrayList类一起使用.在ArrayList类中,我发现iterator()方法从同一个类AbstractList重写了两次.
public Iterator<E> iterator() { return new Itr(); // Itr is an inner private class of // ArrayList which // implements Iterator interface . } public Iterator<E> iterator() { return listIterator(); } 但这怎么可能呢?这里应该有一个已定义的错误.我很迷惑 . 解决方法
您看到的第一个iterator()方法属于ArrayList类,但第二个不属于.
它属于SubList类,它是ArrayList的内部类: private class SubList extends AbstractList<E> implements RandomAccess { ... public Iterator<E> iterator() { return listIterator(); } ... } 因此,它不会被同一个类重写两次.每个班级都会覆盖一次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |