天上飞的云传奇 2021-08-08 19:21 采纳率: 83.3%
浏览 35
已结题

关于Java的父类接口问题?

我在一个测试类中有如下

img
在LinkedList中并无Iterator()方法实现,是调用父类AbstractSequentialList的方法
父类AbstractSequentialList中此方法实现

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

public abstract ListIterator<E> listIterator(int index); //并未实现父类AbstractList的抽象方法

于是再次点击跟踪方法进入AbstractList

 public ListIterator<E> listIterator() {
        return listIterator(0);
    }  

public ListIterator<E> listIterator(final int index) {
        rangeCheckForAdd(index);

        return new ListItr(index);
    }

new的是ListItr类

img
在此类中并无next,hasNext方法!
但是在LinkedList的ListItr中有
img
这里就不懂了 按照ctrl+鼠标左键 跟踪的方法,应该是用的AbstractList中的ListItr但是在测试类中为什么会可以调用next和HasNext方法,在在AbstractList中的ListItr并未实现方法啊?

//在AbstractList中的ListItr
private class ListItr extends Itr implements ListIterator<E> 
  • 写回答

2条回答 默认 最新

  • 八云黧 2021-08-08 19:29
    关注
    1. 用的确实是AbstractList中的ListItr
    2. ListItr继承了另一个内部类Itr,Itr是有next和hasNext的,
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程