【问题标题】:non-static method setPrzechowaj(java.lang.String) cannot be referenced froma a static context [duplicate]无法从静态上下文中引用非静态方法 setPrzechowaj(java.lang.String) [重复]
【发布时间】:2010-05-29 23:51:43
【问题描述】:

可能重复:
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) 有什么想法吗?

【问题讨论】:

    标签: java


    【解决方案1】:
    Zmienne_pomocnicze.setPrzechowaj(sciezka);
    

    这里你直接通过类名调用一个方法而不实例化类。这要求方法为static,即:

    public static void setPrzechowaj (String neew)
    {
       n = neew;
    }
    

    但您通常只想创建一个可重用的类的实例并在其上调用方法,这样该变量/行为就不会在该类的所有现有实例之间共享/应用。

    Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
    zp.setPrzechowaj(sciezka);
    

    另请参阅:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      相关资源
      最近更新 更多