我认为这个问题需要一些说明。
那么,这里是一个示例代码。
// 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的引用,因此初始化是合法的