gpt4 book ai didi

java - 我可以通过 Java 中的父类(super class)引用访问子类对象的属性吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:03 24 4
gpt4 key购买 nike

假设我有一个名为 Food 的类,在构造函数中它具有价格、卡路里数量和描述的属性。

我还有一个名为 Burger 的 Food 子类,而 Burger 有一个额外的肉类类型属性。

现在,如果我创建一个包含 Burger 类实例的 Food 实例数组,我可以通过该数组访问肉类属性的类型吗?

抱歉,如果这令人困惑,但我想知道我是否可以(以及如何)访问父子对象数组中的父子属性。我也在使用 Java。

最佳答案

您可以访问 Burger 的属性,即使它存储在 Food 数组中也是如此。首先,您需要将其转换为 Burger,以便您的程序知道它是什么类型。由于并非 Food 数组中的所有对象都是 Burger,因此最好先检查其类型。像这样:

Food[] myFoods; //your food array
if (Burger.isInstance(myFoods[0])) { //check that the Food is a Burger
((Burger)myFoods[0]).meatType; //cast the object to a Burger and access its property
}

关于java - 我可以通过 Java 中的父类(super class)引用访问子类对象的属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com