gpt4 book ai didi

java - 如何在父类(super class)方法中使用子类参数?

转载 作者:行者123 更新时间:2023-11-30 06:40:39 26 4
gpt4 key购买 nike

我有一个名为 Player 的父类(super class),我有 3 个子类,分别是 Young Hustler , StudentThe Herbalist .

在每个子类中我都有私有(private)参数 money , stashSizeconnections .

我想在Player中创建一个方法类名为 sellWeed()stashSize 中删除 1并将 money 加 10 ,这样我就可以在主方法中调用它们时将该方法应用于所有子类。但是如何将子类的私有(private)参数获取到父类(super class)中呢?

我无法在父类(super class)中声明它们,因为每个子类都有自己的默认启动参数,这些参数应该在游戏过程中进行。

最佳答案

这样的事情应该有效:

class Player {
protected int money;
protected int stashSize;
// and the connections parameter too...
public Player(int money, int stashSize) {
this.money = money;
this.stashSize = stashSize;
}
public void sellWeed() {
// work with money and stashSize here
}
}

class Student extends Player {
public Student() {
super(0, 10); // no money and stashSize 10 for student
}
}

这个想法是将私有(private)参数移动到父类(super class)。然后,您可以通过将值传递给 super 构造函数 (super()) 来初始化它们。

关于java - 如何在父类(super class)方法中使用子类参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44424077/

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