为什么定义集合对象时用接口引用指向对象呢,这样有什么好处?
来源:4-3 案例:在字典中添加内容并显示
慕工程8548459
2019-03-10 17:13:25
为什么定义集合对象时用接口引用指向对象呢,这样有什么好处?比如这个例子:
Map<String,String>animal = new HashMap<String,String>();
1回答
irista23
2019-03-11
一般是创建Map类型的引用,指向创建的HashMap对象,其实就是用接口引用指向实现类的对象。这种定义方法是Java多态的表现,便于程序代码的重构。原因是用Map有多个实现类,如 HashTable、HashTable等,如果现在用的是HashMap,程序需求有变要改成其他实现类,这时你只要改变这一行就行了:Map<String,String> map = new TreeMap<String,String>(); 其它使用了map 地方的代码根本不需要改动。
相似问题