我有点困惑,正在寻找关于声明和实例化 Map 的两种不同方法的差异和不同好处的澄清。
有什么区别
Map<String, String> myMap = new HashMap<String, String>;
并且
HashMap<String, String> myMap = new HashMap<String, String>;
声明父类(super class)变量然后用子类实例化它的好处或原因是什么?
最佳答案
这称为“接口(interface)编程”。 (Map
是一个接口(interface),而不是类。)这使得只需要 Map
操作的代码不必关心它到底是哪种 Map
.
如果您认为合适,您可以轻松地将 HashMap
替换为 TreeMap
,并且无需更改其他代码。
其他类似问题:
其他引用:
关于java - 在 Java 中声明一个父类(super class)变量,然后用子类实例化它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709725/