java中为什么Map<k,v> m=new HashMap<k,v>();这样写 20

java中为什么Map<k,v>m=newHashMap<k,v>();这样写而不是HashMap<k,v>m=newHashMap<k,v>();。那样写有什么好处?... java中为什么Map<k,v> m=new HashMap<k,v>();这样写而不是HashMap<k,v> m=new HashMap<k,v>();。那样写有什么好处? 展开
 我来答
天之鹰1986
推荐于2018-03-26 · TA获得超过278个赞
知道小有建树答主
回答量:727
采纳率:75%
帮助的人:232万
展开全部
这个属于多态的问题。hashmap 是map 的子类,相当于用父类的引用子类的对象。这种方法新建的对象无法调用子类独有的方法。并不是说这种方式好或者坏,而是这种方式有其独特的特点,实际运用中,你可以根据实际情况来选择如何写。
蜗牛46
2016-11-13 · TA获得超过1015个赞
知道小有建树答主
回答量:1176
采纳率:50%
帮助的人:658万
展开全部
这样是多态的写法,使用父类引用指向子类对象,这样写的话可扩展性强。。。
如果需要更改具体实现,只需要把具体实现更改了就好了。。。
追问
可扩展性强怎么理解?
追答
定义一个标准,要么是父类、要么 是接口,然后用父类引用指向子类对象,这样就可以通过父类的引用来调用具体的方法,当实际项目中,子类或者是接口的实现发生了变化,只需要更改new 的对象就可以,其他地方完全都可以不变。。
举个例子。。。
Car car=new Bwm();
car.run();这里就调用了bwm的run方法
当我需要使用奔驰的run方法时,我只需要改new的对象。。
Car car=new BenChi();
这是个简单的例子,实际应用中很灵活
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式