Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从静态上下文引用java非静态方法getBalance_Java_Static - Fatal编程技术网

无法从静态上下文引用java非静态方法getBalance

无法从静态上下文引用java非静态方法getBalance,java,static,Java,Static,我试图引用另一个类中的方法,并在另一个类的return语句中使用该方法。目前,我得到的只是以下错误:无法从静态上下文引用非静态方法getBalance。任何帮助都将不胜感激 public void bob() { return "Accountno.:" + super.toString() + Account.getBalance(); } getBalance是一个实例方法。该方法的要点是,它为您提供特定Account对象的余额,因此您需要Account实例来调用它

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

 public void bob()
   {
     return "Accountno.:" + super.toString() + Account.getBalance();
   }
getBalance是一个实例方法。该方法的要点是,它为您提供特定Account对象的余额,因此您需要Account实例来调用它的getBalance。当您调用以类名开头的方法时,这就是“静态上下文”的意思,它意味着您正在调用该类上的静态方法

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

您正在尝试对帐户进行子类化吗?因为bob方法看起来很像toString,在Account中看起来像home。如果要对帐户进行子类化,则无需在调用getBalance之前加入Account。相反,您可以使用this.getBalance或仅仅使用getBalance,因为这是隐含的。

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

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


您正在尝试对帐户进行子类化吗?因为bob方法看起来很像toString,在Account中看起来像home。如果您正在对帐户进行子类化,则不需要在调用getBalance之前添加Account。相反,您可以使用this.getBalance或仅仅使用getBalance,因为这是隐含的。

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

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

必须有一个对象实例才能调用getBalance。你打电话就像一个静态的方法。这应该起作用:

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

正确的做法是创建Account、Account和call的实例

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

或者将您的Method getBalance声明为静态。

正确的方法是创建Account、Account和call的实例

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

或者将method getBalance声明为static。

您试图调用一个非静态方法,就好像它是静态的一样。假设您有一个类Account,Account.getBalance将只适用于静态getBalance方法。您需要Account实例才能调用非静态getBalance方法。

您试图调用一个非静态方法,就好像它是静态的一样。假设您有一个类Account,Account.getBalance将只适用于静态getBalance方法。您需要Account的实例才能调用非静态getBalance方法。

添加:如果您在一个简单this不起作用的内部Account类中,您可以编写Account.this.getBalance.Addition:如果您在一个简单this不起作用的内部Account类中,你可以写Account.this.getBalance.能否显示你正在描述的两个类的类结构?能否显示你正在描述的两个类的类结构。