gpt4 book ai didi

Java - 返回扩展父类(super class)的类的字段值

转载 作者:行者123 更新时间:2023-12-01 18:10:08 27 4
gpt4 key购买 nike

当我创建“Sword”的实例并调用 getName() 时,我收到 null。我怎样才能使 Weapon 类中的 getName() 返回 Weapon 中设置的任何“名称”。

public abstract class Weapon extends items.Item {

public String name;

public int damage;

public ItemType itemType = ItemType.Weapon;

public String getName(){
return name;
}

}

public class Sword extends Weapon{

int damage = 10;
int manaCost = 0;
String name = "Steel Sword";
}

最佳答案

Sword 中的 name 变量与 Weapon 中的变量不同 - 它隐藏中的变量。当你有一个Weapon类型的变量时,访问name将会访问Weaponname,它是未初始化的,所以它保持null .

您可以在 Sword 中创建一个构造函数,将现有的 name 变量设置为您想要的值,而不是声明新变量。

关于Java - 返回扩展父类(super class)的类的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33659557/

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