为什么我们使用引用子类对象

时间:2017-04-03 11:44:34

标签: java subclass declaration superclass

我可能听起来很愚蠢地问这个问题,或者互联网会对这个问题有很多参考。但请相信我,我找不到任何正确回答的答案。所以我决定问这个问题

所以这是 为什么我们以这种方式声明对象,例如     Map m = new HashMap() 为什么不     HashMap m = new HashMap()

一般来说为什么我们声明引用子类对象的超类类型的对象。

1 个答案:

答案 0 :(得分:-1)

好吧,这可以让你更改实现而不需要在特定的类上进行中继。

请考虑您已完成的示例,我们更愿意使用

Map<String, String> m2 = new HashMap<>();

HashMap<String, String> m2 = new HashMap<>();

这使您可以自由选择可能性能更高的其他实现。

Map<String, String> m2 = new TreeMap<>();