当前位置: 代码迷 >> Java相关 >> [求助]关于 Enumeration 接口的问题
  详细解决方案

[求助]关于 Enumeration 接口的问题

热度:457   发布时间:2006-12-05 18:53:32.0
[求助]关于 Enumeration 接口的问题
有这样一段代码,看了有些东西弄不懂.
希望高手能指点一下!
Enumeration e=v.elements();
while(e.hasMoreElements())
{
Integer intObj=(Integer)e.nextElement();
sum += intObj.intValue();
}
System.out.println(sum);
接口的定义说接口里面的方法都是抽象的
也就是说里面的方法都是没有实现的
为什么在e.hasMoreElements()这里能用根本没有实现的方法呢?
按理说,应该是编写一个类实现它里面的的方法,以后才能用的?
谢谢!!
搜索更多相关的解决方案: 接口  

----------------解决方案--------------------------------------------------------

看一下你的源代码!全部的!


----------------解决方案--------------------------------------------------------
import java.util.*; //下面用到的Vector类和Enumeration接口都在此包中
public class TestVector
{
public static void main(String [] args)
{
int b=0;
Vector v=new Vector();
System.out.println("Please Enter Number:");
while(true)
{
try
{
b= System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r' || b== '\n')
break;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e=v.elements();
while(e.hasMoreElements())
{
Integer intObj=(Integer)e.nextElement();
sum += intObj.intValue();
}
System.out.println(sum);
}
}

----------------解决方案--------------------------------------------------------

e.hasMoreElements() 只是调用了抽象类内部的方法而已!


----------------解决方案--------------------------------------------------------
以下是引用bennyhe在2006-12-5 18:58:05的发言:
import java.util.*; //下面用到的Vector类和Enumeration接口都在此包中
public class TestVector
{
public static void main(String [] args)
{
int b=0;
Vector v=new Vector();
System.out.println("Please Enter Number:");
while(true)
{
try
{
b= System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
if(b=='\r' || b== '\n')
break;
else
{
int num=b-'0';
v.addElement(new Integer(num));
}
}
int sum=0;
Enumeration e=v.elements();
while(e.hasMoreElements())
{
Integer intObj=(Integer)e.nextElement();
sum += intObj.intValue();
}
System.out.println(sum);
}
}

这个就是传说中的动态绑定。这是个很常用的技术,建议去看看基础的资料,理解这个是很必要的。


----------------解决方案--------------------------------------------------------
以下是引用神经塔在2006-12-5 19:04:41的发言:

e.hasMoreElements() 只是调用了抽象类内部的方法而已!

问题是他的内部方法是没有实现的
如果调用那不跟调用空语句一样吗
有什么作用?


----------------解决方案--------------------------------------------------------
以下是引用angeloc在2006-12-5 19:09:05的发言:

这个就是传说中的动态绑定。这是个很常用的技术,建议去看看基础的资料,理解这个是很必要的。

能不能说具体点,清楚点?
谢谢!
----------------解决方案--------------------------------------------------------

可以理解为一个类的父类和它实现了的接口可以用做指象这个类的“指针”.
具体这个问题任何基础教程上都有,有的叫“后期绑定”,“动态绑定”等等,属于“多态”。你先去看看吧。


[此贴子已经被作者于2006-12-5 19:24:01编辑过]


----------------解决方案--------------------------------------------------------