java非静态方法getBalance不能从静态上下文中引用

我正在尝试引用另一个类中的方法,并在我的其他类的return语句中使用它。 目前,我得到的是以下错误:无法从静态上下文引用非静态方法getBalance。 任何帮助将不胜感激

public void bob() { return "Accountno.:" + super.toString() + Account.getBalance(); } 

getBalance是一个实例方法。 该方法的重点是它为您提供特定Account对象的余额,因此您需要一个Account实例才能在其上调用getBalance。 当你调用一个以类名开头的方法时,这就是’静态上下文’的意思,它意味着你在类上调用一个静态方法。

技术上调用构造函数并在新对象上调用getBalance方法(如其他post所示)将起作用,但不会为您提供任何有用的数据。 您需要了解如何获取所需的帐户(例如通过数据库查询)。

您是否尝试将Account划分为子类? 因为bob方法看起来很像一个toString,可以在Account中看到它。 如果您是子类化帐户,那么您不需要使用Account.调用getBalance Account. ,你可以使用this.getBalance()或只是getBalance (因为this是隐含的)。

您必须有一个用于调用getBalance()的对象实例。 你打电话就像一个静态的方法。 这应该工作:

 Account acc = new Account(); acc.getBalance(); 

正确的做法是拥有账户,账户和电话的实例

 Account account = new Account(); account.getBalance(); 

或者将你的方法getBalance声明为静态。

您试图将非静态方法称为静态方法。 假设您有一个类帐户,Account.getBalance()仅适用于静态getBalance()方法。 您需要一个Account实例才能调用非静态getBalance()方法。