Map map = new HashMap<>这个是c++里面的运行期绑定?

我个人理解,接口本质上是抽象类,依此理解的话,HashMap就是Map的子类对不对?
所以以上语句会出现运行期绑定?还是我哪里理解错了?
java子类可以重载父类的方法,而不overload那个方法?

阅读 3k
2 个回答
  1. Java中, Map map = new HashMap() 是在编译期就通过类型推断绑定了, 可以看到这里已经显式的调用了 HashMap 的构造函数

  2. 重载是Overload, 而"子类可以重载父类的方法"是指Override, 叫做重写或者覆盖 https://en.wikipedia.org/wiki...

Java 的范性是编译时进行类型推断,不是运行时。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题