不能从静态上下文引用非静态方法"错误
本教程将介绍“不能从静态上下文引用非静态方法"错误的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我有一个名为 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");
(顺便说一句,最好使用布尔值而不是包含是"的字符串.)
好了关于“不能从静态上下文引用非静态方法"错误的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。