0 0

jdk中容器源码的一些疑问5

ListIterator中继承了Iterator。为什么还要将Iterator的方法重载一边呢?
另外concrete collection比如:ArrayLIst为什么在extends AbstractList之后还要去 implements list呢?
不晓得哪位大侠帮我解惑
2014年3月10日 21:05

1个答案 按时间排序 按投票排序

0 0

采纳的答案

个人看法,可能不合理,仅供参考,以上是处于可读性的角度考虑的:

1)ListIterator:提供两个方向的迭代器,如果只有hasPrevious没有hasNext,可能看起来会比较奇怪,毕竟Iterator中的hasNext的语义是“单向”的判断,并不是“向前”的判断,但是ListIterator将HasNext作为向前判断的语义了。 又由于希望调用者能够将ListIterator看做是Iterator,所以做了继承。 去掉这个方法声明实际上是可以的(在方法声明、Javadoc解释方面做进一步明确化);

2)ArrayLIst implements List,让读者比较容易能够知道是这个接口关系,或许和javadoc生成有关系(这个没有测试过)

2014年3月11日 09:33

相关推荐

    jdk-8u60源码

    在本文中,我们将深入探讨JDK 8u60的源码,揭示其内部工作机制,帮助开发者更好地理解和利用这个强大的开发工具。 首先,我们关注的是"IMPORT_README"文档,这通常是项目导入或构建过程的关键指南。在阅读此文档时...

    JDK8完整源码包

    其次,Sun私有实现部分通常包含了一些Oracle专有的优化和特性,这部分源码对于研究JVM(Java虚拟机)的内部工作原理,如垃圾收集器、类加载器、性能调优等有着极大的价值。例如,JDK8引入了G1垃圾收集器的改进版,...

    jdk1.8 源码中文版,jdk直接显示中文注释

    下载后直接去本机jdk目录里替换jdk中的src.zip 再打开idea就能看到中文版的源码注释 示例 https://blog.csdn.net/a7459/article/details/106495622

    jdk1.8 sun源码

    在JDK 1.8版本中,虽然已经包含了大部分核心类库的源代码,但某些特定的Sun Microsystems(后被Oracle收购)实现的内部类或模块,如JNI(Java Native Interface)和一些性能优化的代码,通常并不公开。这些内部实现...

    JDK中文源码

    JDK源码,JDK源码,JDK源码,JDK源码,JDK源码,JDK源码,JDK源码

    JDK1.8中文源码手册(无广告)

    JDK1.8中文源码手册 无广告

    jdk1.6 源码jdk1.6 源码

    4. **多线程**:JDK 1.6支持多线程编程,源码中包括了`Thread`类和`synchronized`关键字的实现,以及线程同步机制如`wait()`, `notify()`, `notifyAll()`。 5. **I/O流**:在`java.io`包中,你可以看到文件读写、...

    jdk中文源码

    jdk_1.6源码中文版。。

    jdk6 源码 SRC

    jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码

    jdk源码(完整版)

    - **sun**: 这个包包含了一些Sun Microsystems的私有实现,通常不推荐在公共代码中使用,因为它们可能在未来的JDK版本中改变或移除。 2. **OpenJDK 1.8的关键特性** - ** Lambdas表达式**: 引入了函数式编程概念...

    JDK1.8 sun 包源码

    安装完JDK后,会在%JAVA_HOME% /jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中,可以到...

    JDK8源码 注释附带中文翻译

    压缩包中为JDK8的源码,在源码的注释下方附带的中文翻译,是本压缩包的亮点,下方为局部代码,示范给大家: * Sole constructor. Programmers cannot invoke this constructor. * It is for use by code emitted ...

    jdk11的源码src文件

    4. **jdk.unsupported.desktop**: 此模块包含了一些非标准的、与桌面环境相关的API,这些API可能在未来的Java版本中被移除。它们主要用于支持一些特定的操作系统功能,如文件选择对话框或打印服务。 5. **jdk....

    JDK8HashMap源码

    精确的版本号是jdk-8u181。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

    JDK1.8完整源码,包含sun等包,以及C/C++ native层代码

    首先,JDK1.8的源码中包含了"sun"包,这是Oracle JDK特有的一个包,包含了Oracle对Java平台的一些内部实现。"sun"包下有很多关键的类和接口,比如反射机制的核心类`sun.reflect.*`,JVM内部类加载器`sun.misc....

    jdk的部分源码(jdk)

    1. **Java虚拟机(JVM)**: JDK的源码中包含了Java虚拟机的实现,JVM是Java程序的执行环境。通过源码,我们可以看到字节码如何被解析和执行,以及垃圾收集器的工作机制,比如分代垃圾回收、并发标记扫描(CMS)或G1垃圾...

    jdk1.8源码+中文注释(chm格式)

    4. **接口默认方法**:JDK1.8引入了默认方法,允许接口中定义具有实现的抽象方法,解决了增加新方法导致的实现类冲突问题,同时也使得接口可以充当行为的容器。 5. **Date与Time API更新**:Java 8改进了日期和时间...

    jdk源码-补充缺少sun包下的源码

    JDK1.7版本的源码提供了对Java语言核心库的深入洞察,而sun包下的源码更是其中的重要组成部分,因为它们包含了Java的核心实现和一些私有API。然而,标准的JDK1.7发行版并未包含完整的sun包源码,这给开发者带来了...

    JDK11源码 jdk-11.0.4 src源码

    9. **多线程编程**:JDK11中的`java.util.concurrent`包提供了丰富的并发工具类,源码中可以看到这些类的实现细节,有助于理解并发原理。 10. **类加载机制**:JDK11的类加载机制仍然遵循“双亲委派模型”,源码中...

    JDK1.7 API源码

    JDK1.7 API源码, 本人制作了一个JDK API官方源代码的chm,方便在移动设备上查看

Global site tag (gtag.js) - Google Analytics