我对此感到非常困惑,由于某种原因,我似乎没有得到。也许我想得太多,或者只是白痴。

但是无论如何,这是一个示例代码:

AkitaDog balto = new Dog();

我真的不想要那个意思,至少在某种意义上我无法向别人解释。

如果您向我提供此代码,那么我了解:
AkitaDog balto = new AkitaDog();

但是在第一个代码中,基本上是说您有一个名为balto的AkitaDog类型,但是您是用它来制作Dog对象的吗?

balto 从Dog继承的方法而言,这还意味着什么?

有人可以举一些简单的例子来帮助理解它吗?

最佳答案

可以这样想。

您有一个FRUIT。而且您还有APPLEORANGE

现在,假设有人要您要水果。由于FRUIT是一个抽象术语,可能含义很多,因此您必须给他一些他可以实际食用的东西,一种实际的水果(在您的情况下为苹果或桔子)。

这就是为什么您可以这样写:

Fruit appleFruit = new Apple();

自苹果IS A KIND OF水果。

类似的原理适用于接口/抽象类和实现它们的具体类:)

10-08 09:42