Java 中Map map = new HashMap()为什么不写成HashMap map = new HashMap()或者Map map = new Map()?

不能写成Map map = new Map()这样是因为:

Map是接口,hashMap是Map的一种实现。接口不能被实例化,只能使用其实现类来实例化,而Map map=new Map()是错误的

在Java中 Map map = new HashMap()为什么不写成HashMap map = new HashMap()呢?

这是出于代码的维护性来考虑。

对于:Map map = new HashMap()
是定义了一个接口,我们直接调用这个接口就可以完成我们想要的动作,别人在使用时调用此接口便可以,而不用管内部实现逻辑。
以后如果有变动,不用管这个接口,只需要修改实现这个接口的类即可。

而对于 :HashMap map = new HashMap()
我们定义的就是一个实现类,把这个类给别人用,在出现问题和改动的话,那么程序就无法运行,凡是用到这个类的地方都要修改,维护起来很麻烦,而上面的接口,你只需要改你实现这个接口的实现类就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值