当前位置: 技术问答>java相关
jdk1.3中Enumeration是接口,但是为什么能直接用?
来源: 互联网 发布时间:2015-03-22
本文导语: 测试代码如下: Hashtable v = new Hashtable(); for (Enumeration e = v.elements() ; e.hasMoreElements() ;) { System.out.println(e.nextElement()); } 编译,运行都没有问题。 不明白. 我的classpath如下: .;d:jdk1.3libtools.jar; | ...
测试代码如下:
Hashtable v = new Hashtable();
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
System.out.println(e.nextElement());
}
编译,运行都没有问题。
不明白.
我的classpath如下:
.;d:jdk1.3libtools.jar;
Hashtable v = new Hashtable();
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
System.out.println(e.nextElement());
}
编译,运行都没有问题。
不明白.
我的classpath如下:
.;d:jdk1.3libtools.jar;
|
这是oop的上溯造型.
实际上,v.elements返回的对象是实现Enumeration接口的对象。
例如:
public classA implements Enumeration
{
.................
}
Enumeration a=new classA();
//这时,a中就可以使用Enumeration中的方法了。
//不过这些方法已经在classA中被实现才行。
实际上,v.elements返回的对象是实现Enumeration接口的对象。
例如:
public classA implements Enumeration
{
.................
}
Enumeration a=new classA();
//这时,a中就可以使用Enumeration中的方法了。
//不过这些方法已经在classA中被实现才行。
|
看看Vector.java就知道。
/**
* Returns an enumeration of the components of this vector. The
* returned Enumeration object will generate all items in
* this vector. The first item generated is the item at index 0,
* then the item at index 1, and so on.
*
* @return an enumeration of the components of this vector.
* @see Enumeration
* @see Iterator
*/
public Enumeration elements() {
return new Enumeration() {
int count = 0;
public boolean hasMoreElements() {
return count
/**
* Returns an enumeration of the components of this vector. The
* returned Enumeration object will generate all items in
* this vector. The first item generated is the item at index 0,
* then the item at index 1, and so on.
*
* @return an enumeration of the components of this vector.
* @see Enumeration
* @see Iterator
*/
public Enumeration elements() {
return new Enumeration() {
int count = 0;
public boolean hasMoreElements() {
return count