如何创建一个子类的实例扩展一个抽象父类使用两个类名的混淆无错误?



我认为这个问题需要一些说明。

那么,这里是一个示例代码。

// Animal - abstract class (Parent class)
// Dog - inherited class (Sub class)
Animal puppy = new Dog(); // creating an instance.

所以我的问题是,在实例化对象时如何使用两个类名是正确的?如果这是个愚蠢的问题,请原谅。有人能解释一下这个奇怪实例的分解吗?

new Dog()创建一个新的Dog实例并返回对该Dog的引用

Animal puppy创建了一个变量(一个命名的东西,可以保存对对象的引用),该变量能够引用任何动物对象

=将左边的变量初始化为右边的值。因为Dog动物,对狗的引用对Animal的引用,因此初始化是合法的

最新更新