文章详情页
java - Map map = new HashMap<>这个是c++里面的运行期绑定?
问题描述
我个人理解,接口本质上是抽象类,依此理解的话,HashMap就是Map的子类对不对?所以以上语句会出现运行期绑定?还是我哪里理解错了?java子类可以重载父类的方法,而不overload那个方法?
问题解答
回答1:Java中, Map map = new HashMap() 是在编译期就通过类型推断绑定了, 可以看到这里已经显式的调用了 HashMap 的构造函数
重载是Overload, 而'子类可以重载父类的方法'是指Override, 叫做重写或者覆盖 https://en.wikipedia.org/wiki...
回答2:Java 的范性是编译时进行类型推断,不是运行时。
标签:
java
相关文章:
1. javascript - 静态页面引公共头尾文件,js怎么写吖?2. javascript - 读取页面源码,页面中所有的换行都被当成<br/>读取出来 了,,求解应该怎么让它被正确的解析3. java基础,求解答。4. javascript - 关于一段 for 循环代码执行顺序的问题5. javascript - vue 数据更新了。但是dom没有更新,,,,,如图6. html5 - 百度Ueditor代码高亮和代码段滚动条冲突是怎么回事?7. java - 为什么要将Runnable接口的子类对象传递给Thread的构造函数?8. debian - docker依赖的aufs-tools源码哪里可以找到啊?9. docker api 开发的端口怎么获取?10. javascript - HTML 原生js怎么控制table根据0,1值来显示或者隐藏
排行榜