Java Base b=新派生的();继承问题
使用以下方法创建新实例时会发生什么情况:Java Base b=新派生的();继承问题,java,inheritance,Java,Inheritance,使用以下方法创建新实例时会发生什么情况: Base b = new Derived(); 我无法真正理解这背后的机制。基本上,从这一点上,编译器会看到一个Base实例,在运行时,该实例是派生的类型 在更广泛的解释中,Base类型可能是一个接口,因此您可以通过契约了解方法的功能和作用。但是您是从实现中抽象出来的。对b的引用是typeBase。但是实现是派生的。这意味着您可以将其用作基础,但它将作为派生的。执行b派生的instanceof将是正确的,因为实现的类型是派生的您到底混淆了什么?如果您了
Base b = new Derived();
我无法真正理解这背后的机制。基本上,从这一点上,编译器会看到一个
Base
实例,在运行时,该实例是派生的类型
在更广泛的解释中,Base
类型可能是一个接口,因此您可以通过契约了解方法的功能和作用。但是您是从实现中抽象出来的。对b
的引用是typeBase
。但是实现是派生的。这意味着您可以将其用作基础
,但它将作为派生的
。执行b派生的instanceof
将是正确的,因为实现的类型是派生的
您到底混淆了什么?如果您了解Java的基础知识,您能更具体地说一下这个声明的问题是什么吗?这是Java中一个非常基本的概念。如果您在这方面有困难,我完全建议您自己找一本介绍Java的好书。