我对此感到非常困惑,由于某种原因,我似乎没有得到。也许我想得太多,或者只是白痴。
但是无论如何,这是一个示例代码:
AkitaDog balto = new Dog();
我真的不想要那个意思,至少在某种意义上我无法向别人解释。
如果您向我提供此代码,那么我了解:
AkitaDog balto = new AkitaDog();
但是在第一个代码中,基本上是说您有一个名为balto的AkitaDog类型,但是您是用它来制作Dog对象的吗?
就 balto 从Dog继承的方法而言,这还意味着什么?
有人可以举一些简单的例子来帮助理解它吗?
最佳答案
可以这样想。
您有一个FRUIT
。而且您还有APPLE
和ORANGE
。
现在,假设有人要您要水果。由于FRUIT
是一个抽象术语,可能含义很多,因此您必须给他一些他可以实际食用的东西,一种实际的水果(在您的情况下为苹果或桔子)。
这就是为什么您可以这样写:
Fruit appleFruit = new Apple();
自苹果
IS A KIND OF
水果。类似的原理适用于接口/抽象类和实现它们的具体类:)