这是因为坛友的一个问题而引发的思考,欢迎大家讨论。
一道选择题不理解,求解释,谢谢。。。
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;
- }
-
- }
复制代码
|