我该如何避免使用静态方法的吸气剂?

时间:2018-09-08 14:55:53

标签: java arrays methods static getter

我的getter希望该方法拥有一个静态方法,但是如果我这样做,它将破坏我的代码,是否可以解决此问题?语言Java。

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

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

这是我的getter方法,该方法采用我从测试类中提供的字符串(该元素将项目放入数组中)创建的数组。我希望能够保留创建的阵列,同时获得总销售额。

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

有什么办法可以保留我的阵列,也可以从测试人员类中获得总销售额?

2 个答案:

答案 0 :(得分:1)

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

创建该类的实例,然后在该实例上调用它!

答案 1 :(得分:0)

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

VendingMachine machine = new VendingMachine();

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

machine.getTotalsSales()

有关更多详细信息,建议您阅读有关类和对象之间的区别以及它们之间的关系的教程。