请问Map map=new HashMap(); 为什么是这样,而不是Map map=new Map();

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:41:07
请问Map map=new HashMap(); 为什么是这样,而不是Map map=new Map();

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

Dog dog = new 哈士奇();

map是一个接口,无法实例化的

Map 是一个接口(interface)是无法实例化的。