如何绕过我想要静态方法的getter? [重复]

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

我的getter想要它有一个静态方法的方法,但如果我这样做,它会破坏我的代码是否有任何解决方法?语言Java。

这是我的测试类中想要在我的自动售货类中获取方法的行。

System.out.println("Total Sales for both machines today $"+ VendingMachine.getTotalsSales());

这是我的getter方法,它从我在测试类中提供的将字符串放入数组的字符串中获取我创建的数组。我希望能够保留我创建的这个数组,同时获得总销售额。

public double getTotalsSales() {
    totalSales += availableItems[this.selectItem].price;
    return totalSales;
}

有什么方法可以保留我的阵列,并且能够从测试仪类中获得总销售额吗?

java arrays methods static getter
2个回答
0
投票

我假设VendingMachine是类名。您需要先创建此类的实例:

VendingMachine machine = new VendingMachine();

然后在该实例上调用该方法:

machine.getTotalsSales()

有关更多详细信息,我建议您阅读有关类和对象之间的差异以及它们如何相关的教程。


1
投票

听起来VendingMachine是你班级的名字,而不是班级实例的名称。在类而不是实例上调用方法getTotalsSales试图在静态上下文中调用它,这就是为什么它要求它是静态的。

创建一个类的实例,并在其上调用它!

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