繁体   English   中英

Java Base b = new Derived(); 继承问题

[英]Java Base b = new Derived(); inheritance questions

使用以下命令创建新实例时会发生什么:

Base b = new Derived();

我无法理解这背后的机制。

基本上,从那时起,编译器会看到一个Base实例,在运行时,实例的类型为Derived

在更广泛的解释中, Base类型可能是一个接口,因此您可以通过契约知道什么方法具有什么以及它具有什么样的Polymorphism 但是你从实现中抽象出来了。

b的引用是Base类型。 但实施是Derived 这意味着您可以将其用作Base但它将表现为Derived 执行b instanceof Derived将为true,因为实现的类型为Derived

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM