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
的引用是type
Base
。但是实现是派生的。这意味着您可以将其用作
基础
,但它将作为
派生的
。执行
b派生的instanceof
将是正确的,因为实现的类型是
派生的

您到底混淆了什么?如果您了解Java的基础知识,您能更具体地说一下这个声明的问题是什么吗?这是Java中一个非常基本的概念。如果您在这方面有困难,我完全建议您自己找一本介绍Java的好书。