java - 需要解释继承关系

标签 java inheritance

我不是要你给我答案,我只是要求解释,让我了解如何找到答案。

假设我们有一个包含 A、B、C 和 D 四个类的项目。我们有以下变量:

一个;乙乙; CC; Dd;

以下赋值都是合法的(它们都可以编译):

a = b; a = c; d = b;

以下赋值是非法的(它们会导致编译器错误):

c = d; d = c; d = a;

画出这些类之间的继承关系。

感谢帮助,谢谢:)

最佳答案

合法赋值意味着左侧变量的类是右侧类的父类(super class)。

a = b 表示 b 在 a 的子类层次结构中的某个位置,或者换句话说,a 是 b 的祖先。

如果它没有编译,则意味着这不是一个有效的赋值。

从您的“合法”分配中,您可以推断出 b 是 a 的子类,c 是 a 的子类,b 是 d 的子类。

希望这足以让您继续下去。

关于java - 需要解释继承关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015490/

相关文章:

java - 如何调用也是弱引用的对象的构造函数

java - sql更新语句无法正确执行

javascript - Sencha 触摸2 : Extending XTemplate - can I inherit parents member functions?

Java方法重写而不进行内部转换

C# 方法重写分辨率异常

java - 如何正确混合泛型和继承以获得预期的结果?

c++ - 从派生类实现基类构造函数的专门化的替代方法是什么?

java - 数组的 setter 和 getter

java - Retrofit2在jvm上抛出Android相关的RuntimeException

java - Maven -DskipTests 被忽略