请问Map map=new HashMap(); 为什么是这样,而不是Map map=new Map();
请问Mapmap=newHashMap();为什么是这样,而不是Mapmap=newMap();...
请问Map map=new HashMap(); 为什么是这样,而不是Map map=new Map();
展开
4个回答
展开全部
Map是接口,hashMap是Map的一种实现。接口不能被实例化。
Map map=new HashMap(); 就是将map实例化成一个hashMap。这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射java帮你做了。打个比方,你是一个头头,手下有几个人:张三,李四等等。你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:“来人!”具体的是哪个人进来帮你做事无所谓。
如果说这样写: HashMap map = new HashMap();就相当于你指定要张三做事:“来张三!”
就是这样。
Map map=new HashMap(); 就是将map实例化成一个hashMap。这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射java帮你做了。打个比方,你是一个头头,手下有几个人:张三,李四等等。你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:“来人!”具体的是哪个人进来帮你做事无所谓。
如果说这样写: HashMap map = new HashMap();就相当于你指定要张三做事:“来张三!”
就是这样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dog dog = new 哈士奇();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
map是一个接口,无法实例化的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Map 是一个接口(interface)是无法实例化的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询