java 有人能解释一下这个超类的层次结构以及参数是如何传递的吗?[关闭]

d8tt03nd  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(173)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

18小时前关闭
Improve this question
IMAGE OF THE CODE IM LOOKING AT
你好!我正在学习超类,被参数和它们的输出抛了出去。
沿着图像中的代码,我还得到了以下内容:

public class Main {

 public static void main(String[] args) {

 Bat igor=null;

 Bird robin;

FlyingAnimal finch;

 Statement 1;

 }

}

然后我被问到:
if Statement1 is robin = new Bird(“Robin”,3000,50);输出是什么?
我知道答案是:
新动物,物种是知更鸟,种群3000
鸟创建,物种是罗宾翅膀跳动= 50
但我不确定这些参数是如何通过层次结构来得到这个的。
任何帮助是赞赏!

jyztefdp

jyztefdp1#

因此,根据图像,class层次结构如下:

  • BirdFlyingAnimal抽象类的子类。这意味着在Bird构造函数中调用super(species, population, wingBeats)将导致对FlyingAnimal(String name, int population, int w)构造函数的调用。
  • FlyingAnimal抽象类是Animal类的子类。这意味着在FlyingAnimal构造函数中调用super(name, population)将导致对Animal(String s, int p)构造函数的调用。

这就是物种名称和种群如何传递给Animal构造函数的,以及为什么您不仅获得Bird构造函数打印的“Bird created...”字符串,而且还获得Animal构造函数打印的“New animal...”字符串。

相关问题