[Java] 为什么推荐使用Map map = new HashMap() 而不是 HashMap map = new HashMap() ?
Map map = new HashMap();Map是一个接口,HashMap是具体的实现类。由于接口是类的蓝图,是一个抽象的概念,不能被实例化,因此接口需要由具体的类来实现。这条代码指明:由HashMap类来实现接口Map中描述的方法。HashMap map = new HashMap();声明一个HashMap类型的map,由HashMap类实现。为什么更推荐第一种用接口的声明方式?这个问题等同于为什么要在编程中使用接口,而不是直接使用实现类。其实这就是面对对象编程(OOP)的思想精髓。