黑马程序员技术交流社区
标题:
接口类型问题 不是很明白
[打印本页]
作者:
liguangcaiup
时间:
2013-6-19 10:54
标题:
接口类型问题 不是很明白
本帖最后由 liguangcaiup 于 2013-6-19 10:58 编辑
jdk文档说Map.Entry是个接口类型 下面的代码是用Map.Entry遍历Map。怎么感觉Map.Entry能存放对象呢 接口是不能创建对象的,为什么使用是感觉像类那样
接口和类有什么区别和共同点呢
public static void main(String[] args)
{
Map<String,String> map = new HashMap<String,String>();
map.put("02","zhangsan2");
map.put("03","zhangsan3");
map.put("01","zhangsan1");
map.put("04","zhangsan4");
//将Map集合中的映射关系取出。存入到Set集合中。
Set<Map.Entry<String,String>> entrySet = map.entrySet();
Iterator<Map.Entry<String,String>> it = entrySet.iterator();
while(it.hasNext())
{
Map.Entry<String,String> me = it.next();
String key = me.getKey();
String value = me.getValue();
System.out.println(key+":"+value);
}
}
作者:
mvplee
时间:
2013-6-19 11:04
本帖最后由 mvplee 于 2013-6-19 11:05 编辑
我写个伪代码,包你明白,Map.Entry接口是干毛用的
interface Map{
public static interface Entry
{
public abstruct Object getKey();
public abstruct Ojbect getValue();
}
}
class HashMap implements Map{
class Hash implements Map.Entry{内部事务,定义在集合内
pubilc Object getKey(){}
public Object getValue(){}
}
}
复制代码
内部接口?
静态地?
实现没?
作者:
a767175432
时间:
2013-6-19 13:12
map.entrySet(); 相当于反回了Map.Entry接口的实现类对象
就像迭代器接口Iterator 返回此迭代器一样 不是直接返回这个迭代器实例,而是内部代码返回了一个实现这个接口的类的对象再向上转型
对比一下
作者:
徐鹏跃
时间:
2013-11-21 15:13
恩 就是这样的 那只是接口的一个实现类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2