Java 中Map map = new HashMap()与HashMap map = new HashMap()区别

Map 是接口 不能实例化的 ,只能使用其实现类来实例化,即Map map=new Map();是错误的
HashMap Map接口的实现类



用接口定义比较灵活以后少改动,是OOP的好习惯。

定义的时候用MAP实例化为HashMap,万一以后要改成Hashtable,产生的改动少。

Map map=new HashMap(); 就是将map实例化成一个hashMap。这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射java帮你做了。打个比方,你是一个头头,手下有几个人:张三,李四等等。你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:“来人!”具体的是哪个人进来帮你做事无所谓。
如果说这样写: HashMap map = new HashMap();就相当于你指定要张三做事:“来张三!”
就是这样。

关于Map的具体方法和变量, 具体参考官网API

http://docs.oracle.com/javase/6/docs/api/java/util/Map.html

猜你喜欢

转载自blog.csdn.net/qq_36626914/article/details/82414574