gpt4 book ai didi

java - 如何一劳永逸地解决通过方法访问非静态和静态变量的问题?

转载 作者:行者123 更新时间:2023-12-02 06:01:21 25 4
gpt4 key购买 nike

我在通过另一个类的方法访问类中的私有(private)变量时总是遇到问题,例如现在我遇到了这个问题:

我在 Hello1 类中有这个变量:

    private Item[][] bankTabs;

我想通过另一个类(比如 hello2)访问它,所以我在 Hello1 中创建了一个公共(public)方法,如下所示:

    public int amountOfItemInBank(int id) {
int amountInBank = 0;

for(int i = 0; i < bankTabs.length; i++) {
for(int i2 = 0; i2 < bankTabs[i].length; i2++) {
if (bankTabs[i][i2].getId() == id)
amountInBank = bankTabs[i][i2].getAmount();
}
}
return amountInBank;

}

但是当我想通过Hello2访问它时,它告诉我该方法不是静态的,当我将其设为静态时,amountOfItemInBank中的变量bankTabs不起作用,并且出现很多错误。

所以当我去 Hello2 课时,我尝试像这样调用这个方法:

 Hello1.amountOfItemInBank(50);

我该如何解决这个问题?

最佳答案

创建 Hello1 类的对象,然后访问该方法

Hello1 obj = new Hello1();
int returnValue = obj.amountOfItemInBank(50);

或者在 Hello1 类中将变量 bankTabs 和方法 amountOfItemInBank 声明为 static 并使用 Hello1.amountOfItemInBank(50); 正如您之前所做的那样。

此外,请在此处了解更多信息 Understanding Class Members澄清你的理解,然后你就可以一劳永逸地解决问题

关于java - 如何一劳永逸地解决通过方法访问非静态和静态变量的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22656217/

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