“无法从静态上下文中引用非静态方法”错误

2022-08-31 13:31:52

我有一个名为的类,它有一个名为:MediasetLoanItem

public void setLoanItem(String loan) {
    this.onloan = loan;
}

我正在尝试从以下列方式命名的类中调用此方法:GUI

public void loanItem() {
    Media.setLoanItem("Yes");
}

但是我收到错误

非静态方法 setLoanItem(java.lang.String) 不能从静态上下文中引用

我只是尝试将类中的变量从类更改为“Yes”。onloanMediaGUI

我已经查看了具有相同错误消息的其他主题,但没有任何内容点击!


答案 1

需要从实例调用实例方法。您的方法是一个实例方法(它没有修饰符),它需要它才能起作用(因为它正在设置一个值,它被调用它())。setLoanItemstaticthis

您需要先创建该类的实例,然后才能在其上调用该方法:

Media media = new Media();
media.setLoanItem("Yes");

(顺便说一句,最好使用布尔值而不是包含“Yes”的字符串。


答案 2

setLoanItem 是一个实例方法,这意味着您需要一个 Media 类的实例才能调用它。您正在尝试在媒体类型本身上调用它。

您可能希望查看一些基本的面向对象教程,以了解静态/实例成员的工作原理。


推荐