Enumeration和Iterator是接口类,为啥能产生对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Enumeration和Iterator是接口类,为啥能产生对象相关的知识,希望对你有一定的参考价值。

我初学java看书说接口成员被覆盖才能用啊

参考技术A 可以这样理解,按照Java API文档的说法,接口有类实现、对象实现的区别。类实现,例如Runnable,是一个类通过implements引用Runnable接口实现的。此时,比如(Thread)t = new Thread(this),按字面义API文档上说明this应该是Runnable接口,但实际上应当理解为this是这个实现了Runnable接口的类,一个实现了run()方法的类。
如果上面的逻辑通顺,那么对应的,接口的对象实现,比如Enumeration e = (Vector)v.elements(),e是一个引用了Enumeration接口的对象,而不应该是Enumeration这个接口产生的对象。

PS:以上也是些个人理解,因为这也是我思考过一段时间的问题。。。抛砖引玉嘛,期待能有更权威的解释-_-
参考技术B 简单来说是~多态~

以上是关于Enumeration和Iterator是接口类,为啥能产生对象的主要内容,如果未能解决你的问题,请参考以下文章

Enumeration与Iterator接口

Java中Enumeration接口的用法

集合输出接口-Iterator迭代输出-古老枚举输出:Enumeration

Collection接口与Iterator接口

Java集合--Iterator和Enumeration比较

Iterator与 Enumeration