黑马程序员技术交流社区
标题:
Map.Entry接口的思考
[打印本页]
作者:
sofeel
时间:
2015-2-24 12:22
标题:
Map.Entry接口的思考
这是因为坛友的一个问题而引发的思考,欢迎大家讨论。
一道选择题不理解,求解释,谢谢。。。
http://bbs.itheima.com/thread-171294-1-1.html
(出处: 黑马程序员IT技术论坛)
import java.util.Map;
public class EntryTest {
/**
* Map.Entry
*/
public static void main(String[] args) {
/*
* 因为:
* 1,静态。Entry为Map的成员(被static修饰的只能是成员),可以直接用类名引用类名的方式访问。
* 2,接口。定义一个标准,只要遵守这个标准的人,都可以使用它的功能。
*
* 总结:
* 因为是静态的内部接口,实质升级成了共享接口,所以和一般接口的使用无差别。内而不内。
* 下面我自定义Animal类,实现了Map.Entry接口。我能如此,HashMap自不用说。
*
* 感悟:
* 这样的设计似乎是在提醒我们:你要用Map吗?过来看看我们提供的Map.Entry,功能很不错哦!
* 内而不内。
* java设计者高明。
*
*
* 调用实现接口的方法有两种:1、animal.getValue();2、me.getValue();
* */
Animal animal=new Animal();
animal.getValue();
Map.Entry me=new Animal();
me.getValue();
}
}
/*
*
*
* */
class Animal implements Map.Entry<String, String>{
@Override
public String getKey() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public String setValue(String value) {
// TODO Auto-generated method stub
return null;
}
}
复制代码
作者:
Hsidar
时间:
2015-2-24 12:22
你想说明什么?
作者:
sofeel
时间:
2015-2-24 14:35
原贴我链接错了
作者:
sofeel
时间:
2015-2-24 14:39
这是原帖
http://bbs.itheima.com/forum.php ... peid%26typeid%3D513
作者:
sofeel
时间:
2015-2-24 14:58
Hsidar 发表于 2015-2-24 14:31
你想说明什么?
这种设计思想很好。
接口静态绑定到类上:
1,扩充了类的功能;
2,接口还是接口,可以随意使用。
作者:
sofeel
时间:
2015-2-25 12:06
还是收了吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2