有人可以解释这个超类层次结构以及如何传递参数吗?

问题描述 投票:0回答:1

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

Bird created, Species is Robin 翼拍 = 50

但我不确定参数是如何通过层次结构传递的。

感谢任何帮助!

java parameters hierarchy super
1个回答
0
投票

所以,根据图像,

class
层次结构如下:

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

这就是物种名称和种群数量传递给

Animal
构造函数的方式,以及为什么您不仅得到由
Bird
构造函数打印的“Bird created...”字符串,而且还得到“New
Animal
构造函数打印的动物...”字符串。

© www.soinside.com 2019 - 2024. All rights reserved.