Map map = new HashMap();与Map map = new Map();
的区别,后面写HashMap是什么意思啊

解决方案 »

  1.   

    map是接口,不能用new出对象 
    hashmap是继承map接口的实现类,可以new出对象
      

  2.   

    Map map = new HashMap();创建类似的接口对象有利程序的扩展性
      

  3.   

    建议认真的看下书,然后再看一下api文档
      

  4.   

    我觉得你应该问Map map=new HashMap();和 HashMap hashmap=new HashMap();的区别吧很明显,第一个是所谓的多态,你既可以使用hashmap类中的方法也可只用所有map中的方法
    第二个的话你只能使用hashmap中的方法
    一般我们都像第一种那样去声明
      

  5.   

    这样做是多态的体现。。
    LZ看看OOP
      

  6.   

    接口不能实例化..即new Map();是错误的.
    Map map=new HashMap();在实现多态和代码维护的时候这种创建对象的方法比较好.把实现类的实例视为接口类型.
    想想,在这条语句执行之后,你肯定是用Map吧,你不用关心实现类里面有些什么方法,因为Map里面有的方法实现类里面一定会有,然而当你以后想换个实现类的时候,只用把new那个地方换一个实现类就够了,其他的代码都不用变,,大大的方便了代码维护..
    再例如说 List list=new ArrayList();下面会用list的一系列方法, 当你想换成LinkedList集合时,只用在List list=new ArrayList();下面加一句代码就够,list=new LinkedList();万事Ok.. 建议LZ多看点关于多态的东西,,会对你有帮助的
      

  7.   

    map 是一个借口;而hashmap是实现了这个接口的一个集合类;接口是不可以创建对象的;就这样;
    集合类不是实现了collection接口就是实现了map接口;