我是靠谱客的博主 懦弱凉面,最近开发中收集的这篇文章主要介绍为什么推荐使用Map map = new HashMap() 而不是 HashMap 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() 是条错误的代码。这就是使用接口声明的好处,增加系统灵活性,隔离性等。

最后

以上就是懦弱凉面为你收集整理的为什么推荐使用Map map = new HashMap() 而不是 HashMap map = new HashMap()的全部内容,希望文章能够帮你解决为什么推荐使用Map map = new HashMap() 而不是 HashMap map = new HashMap()所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(156)

评论列表共有 0 条评论

立即
投稿
返回
顶部