关于混淆java,构造函数和扩展类的问题

时间:2015-11-30 11:18:30

标签: inheritance this extends superclass class-constructors

我上传了一张我无法弄清楚的问题的图片。正确的答案会突出显示,但我不知道如何解决问题。

我很困惑,我认为构造函数必须与赋值运算符两边的类具有相同的名称(等号),但在大多数这些问题上它们是不同的。

ex:我习惯看到像这样的东西: 世界test1 =新世界(“随便”);

但是在这些问题上,我看到的内容如下: 世界test1 =新州(“无论什么”);

答案以橙色突出显示,给出的代码以绿色突出显示。 我真的很感激有关如何做到这一点的任何帮助或提示。我在youtube和google上四处寻找并且无法理解它。

http://imgur.com/viqi2W7 Confusing java stuff

1 个答案:

答案 0 :(得分:0)

在示例中," State"是"国家"的子类。这是" World"的一个子类。

可以将子类分配给声明为超类类型的变量。这限制了代码将实例视为超类的类型。

像instance或checkcast这样的运算符允许代码确定实际的运行时类型(在示例中为State),而向下传播它是子类。