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