永发信息网

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

答案:2  悬赏:50  手机版
解决时间 2021-03-26 10:38
  • 提问者网友:王者佥
  • 2021-03-25 20:29
java中为什么Map<k,v> m=new HashMap<k,v>();这样写
最佳答案
  • 五星知识达人网友:夜风逐马
  • 2021-03-25 20:34
这个属于多态的问题。hashmap 是map 的子类,相当于用父类的引用子类的对象。这种方法新建的对象无法调用子类独有的方法。并不是说这种方式好或者坏,而是这种方式有其独特的特点,实际运用中,你可以根据实际情况来选择如何写。
全部回答
  • 1楼网友:洒脱疯子
  • 2021-03-25 21:08
这样是多态的写法,使用父类引用指向子类对象,这样写的话可扩展性强。。。
如果需要更改具体实现,只需要把具体实现更改了就好了。。。追问可扩展性强怎么理解?追答定义一个标准,要么是父类、要么 是接口,然后用父类引用指向子类对象,这样就可以通过父类的引用来调用具体的方法,当实际项目中,子类或者是接口的实现发生了变化,只需要更改new 的对象就可以,其他地方完全都可以不变。。
举个例子。。。
Car car=new Bwm();
car.run();这里就调用了bwm的run方法
当我需要使用奔驰的run方法时,我只需要改new的对象。。
Car car=new BenChi();
这是个简单的例子,实际应用中很灵活
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯