Possible Duplicate:
non static method cannot be referenced from static context
嘿我有 JDialogForm 的问题。我使用 netbeans 6.8 创建了它。 JDialogForm 下面有文本字段和按钮。这是一些代码...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String sciezka = jTextField1.getText();
if (sciezka.length() > 0)
{
Zmienne_pomocnicze.setPrzechowaj(sciezka);
}
}
现在我想将该字符串“sciezka”复制到我的主窗口,但如果我这样做
public class Zmienne_pomocnicze {
public String n;
public void setPrzechowaj (String neew)
{
n = neew;
}
public String getPrzechowaj ()
{
return n;
}
}
我在 jButton1 中遇到错误:无法从静态上下文引用非静态方法 setPrzechowaj(java.lang.String) 有什么想法吗?
最佳答案
Zmienne_pomocnicze.setPrzechowaj(sciezka);
这里您直接通过类名调用方法,而不实例化该类。这要求该方法是静态
,即:
public static void setPrzechowaj (String neew)
{
n = neew;
}
但您通常只想创建该类的可重用实例并调用其方法,以便该变量/行为不会在该类的所有现有实例之间共享/应用。
Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
zp.setPrzechowaj(sciezka);
<小时/>
另请参阅:
关于java - 无法从静态上下文引用非静态方法 setPrzechowaj(java.lang.String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936996/