不能从静态上下文引用非静态方法"错误

本教程将介绍“不能从静态上下文引用非静态方法"错误的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

不能从静态上下文引用非静态方法"错误 教程 第1张

问题描述

我有一个名为 Media 的类,它有一个名为 setLoanItem 的方法:

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

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

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

但我得到了错误

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

我只是想将 Media 类中的变量 onloan 更改为 GUI 类中的Yes".

我查看了具有相同错误消息但没有点击的其他主题!

推荐答案

需要从实例调用实例方法.您的 setLoanItem 方法是一个实例方法(它没有修饰符 static),它需要它才能起作用(因为它在调用它的实例 (this)).

你需要先创建一个类的实例,然后才能调用它的方法:

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

(顺便说一句,最好使用布尔值而不是包含是"的字符串.)

好了关于“不能从静态上下文引用非静态方法"错误的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。