开发时推荐使用Map map = new HashMap()

Map map = new HashMap();
Map是一个接口,HashMap是具体的实现类。
由于接口就是多个类的共有规范(里面的抽象方法),是一种引用数据类型,一个抽象的概念,不能被实例化,因此接口需要由具体的类来实现。
这条代码指明:由HashMap类来实现接口Map中描述的方法。

HashMap map = new HashMap();
声明一个HashMap类型的map,由HashMap类实现。

为什么更推荐第一种用接口的声明方式?
这个问题等同于为什么要在编程中使用接口,而不是直接使用实现类。其实这就是面对对象编程(OOP)的思想精髓。简单来说就是:上层接口描述的功能不变,下层的具体实现可以不断修改替换。上层的调用者只用知道map的功能,不必关心map的具体实现。

例如,某天开发人员开发出一个各方面性能都优于HashMap的SuperMap类,则map可以直接改成由SuperMap来实现:Map map = new SuperMap()。对于外部调用者来说,使用的还是那个map,殊不知底层实现的升级已经让他们用上了优化版的map。如果一开始就定义map为HasMap类型,无法做出这样的优化,很明显 HashMap map = new SuperMap() 是条错误的代码。这就是使用接口声明的好处,增加系统灵活性,隔离性等。

转载https://blog.csdn.net/qq_45477595/article/details/106087948

posted @   YOLO_BLOG  阅读(81)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示