可能重复:
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)不能从静态上下文引用 任何想法?
答案 0 :(得分:2)
Zmienne_pomocnicze.setPrzechowaj(sciezka);
这里你直接通过classname调用方法而不实例化类。这要求方法为static
,即:
public static void setPrzechowaj (String neew)
{
n = neew;
}
但是您通常只想创建类的可重用实例并在其上调用方法,以便不会在类的所有现有实例之间共享/应用此变量/行为。
Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
zp.setPrzechowaj(sciezka);
另见: