Map m=new HashMap()为什么要这么写? 有种原则叫做依赖倒转原则,由继承产生的多态,这样定义的m既是HashMap的实例也是Map的实例,因为HashMap实现在Map又有针对抽象和接口的编程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上的这是为了多态的需要一般建议是针对接口编程,因此这里是用接口map定义的对象这个对象的实例化则由接口实现类来实例化 因为在Java Collection framework中实现map接口有HashMap和TreeMap,如果采用Map m=new HashMap(),则如果想改变数据结构为Map m=new TreeMap(),因为以下的代码时根据Map编写的,所以不需要任何修改。如果写成了HashMap m = new HashMap(),代码就不容易修改了。而且在Java Collection framework中的Set, List接口都应该采用这种写法,你要明白Interface和Implementations的用意,看看Java Collection framework文档就明白了。 怎么用session进行用户权限验证? 哪位有针对java的开发sql server的教程啊!!急急急!! java poi3.5 读取问题 (转贴)Java程序员需要了解的几个开源协议 关于两个类的问题? CoreJava 中的一道程序例子,请大家帮着看一下 JTabel内容覆盖问题 从网上找了个文件分割器的例子,但是自己照着写就出问题,求大神给看一眼 java3d ??高手帮忙 请问谁有LDAP开发的例子????求助!!! 能在windows xp下使用tomcat吗? static静态变量,静态方法,特别是 静态类是什么意思呀,我晕???????
这是为了多态的需要
一般建议是针对接口编程,因此这里是用接口map定义的对象
这个对象的实例化则由接口实现类来实例化
所以不需要任何修改。如果写成了HashMap m = new HashMap(),代码就不容易修改了。
而且在Java Collection framework中的Set, List接口都应该采用这种写法,你要明白
Interface和Implementations的用意,看看Java Collection framework文档就明白了。