JAVA 接口List 的iterator()方法为何可以直接使用
请看一部分代码:BeerExpertbe=newBeerExpert();Listresult=be.getBrand(BearColor);out.println("颜...
请看一部分代码:
BeerExpert be = new BeerExpert();
List result = be.getBrand(BearColor);
out.println("颜色是 :" + BearColor);
Iterator it = result.iterator();
while(it.hasNext())
{
out.println("<H2>try "+it.next());
}
对象be的方法getBrand() 返回一个list类,
但是Iterator it = result.iterator(); 这个语句,List作为一个接口,它其中的方法
iterator()可以直接使用么?
接口的方法不是必须要通过继承类实现了才可以使用的么 展开
BeerExpert be = new BeerExpert();
List result = be.getBrand(BearColor);
out.println("颜色是 :" + BearColor);
Iterator it = result.iterator();
while(it.hasNext())
{
out.println("<H2>try "+it.next());
}
对象be的方法getBrand() 返回一个list类,
但是Iterator it = result.iterator(); 这个语句,List作为一个接口,它其中的方法
iterator()可以直接使用么?
接口的方法不是必须要通过继承类实现了才可以使用的么 展开
5个回答
展开全部
1 你看BeerExpert 中方法返回的是实际是一个实体类,是继承了List的类,这个类已经实现了iterator接口中的方法
2 Iterator it = result.iterator(); 你这一句实际是调用的实体类中的iterator()方法
例如:
public List doSth()
{
doSth();
return new ArrayList();
}
我调用的时候可以 直接写 doSth().iterator(); 实际是操作new ArrayList()的iterator方法,而不是List的iterator方法
你说的这个是面向对象中最重要的一点,就是继承关系!
就说这么多了,有问题在问我喽!
2 Iterator it = result.iterator(); 你这一句实际是调用的实体类中的iterator()方法
例如:
public List doSth()
{
doSth();
return new ArrayList();
}
我调用的时候可以 直接写 doSth().iterator(); 实际是操作new ArrayList()的iterator方法,而不是List的iterator方法
你说的这个是面向对象中最重要的一点,就是继承关系!
就说这么多了,有问题在问我喽!
展开全部
be.getBrand(BearColor);是一个实现的List接口的类,这就是多态比如be.getBrand(BearColor);可能是一个ArrayList但是他实现了List接口所以List可以对象可以指向ArrayList对象,iterator()方法是一个标准,代表每个集合必须实现的方法,这个方法就是把集合对象转换成iterator对象,从而实现遍历.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看下be.getBrand(BearColor),它返回来就是已经实现了iterator()方法的对象,所以可以Iterator it = result.iterator();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.awt
类 List
java.lang.Object
java.awt.Component
java.awt.List
List是一个类
类 List
java.lang.Object
java.awt.Component
java.awt.List
List是一个类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-10-12
展开全部
这些不是应该写在action里面的么,接口只写调用方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询