在初学Java的时候,经常能看到教材上的写法,使用了接口Map来引用一个map,而不是它的具体实现,那么这样做的好处是什么呢?
<Effective Java>第52条:通过接口引用对象
作者认为,如果有合适的接口类型存在,那么对于参数、返回值、变量和域来说,就都应该使用就接口类型进行声明。
只有当你利用构造器创建某个对象的时候,才真正需要引用这个对象的类。
// 一个好的栗子
1
Map<Integer,String> map = new HashMap<>();
//一个不那么好的栗子
1
HashMap<Integer,String> map = new HashMap<>();
这样做的好处在于:你的程序会更灵活。当你决定更换实现的时候,所要做的就只是:改变构造器中类的名称。就比如:
Map<Integer,String> map = new TreeMap<>();
如果不这么做,在最早就使用了HashMap来声明了map,如果客户端在其他地方,使用了HashMap的操作,那么后续若改动了,则无法通过编译了。
总结:用接口引用对象会使程序更加灵活
相关知识
springboot基于协同过滤的鲜花店推荐系统设计与实现
Java项目:鲜花商城管理系统(java+SpringBoot+VUE+maven+Mysql)
Java项目:鲜花商城管理系统(java+SSM+BootStrap+JSP+jQuery+Mysql)
基于springboot智能鲜花商店销售系统
基于Springboot的植物管理系统
Java 花店商城系统的实现流程
集成支付即一码多付案例(一)
Hadoop实战(二)鸢尾花数据
Java项目:校园鲜花销售商城系统(java+SSM+JSP+html+layui+mysql)
SpringBoot 项目 + JWT 完成用户登录、注册、认证用户登录、注册及鉴权是我们基本所有系统必备的,也是很核心
网址: 为什么常用 Map<> map = new HashMap() https://m.huajiangbk.com/newsview1074555.html
上一篇: 从一个小栗子说说export,e |
下一篇: 【步骤图】花形栗子包的做法 |