java - 无法从静态上下文引用非静态方法 setPrzechowaj(java.lang.String)

标签 java

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/

相关文章:

java - 编译错误 - com.mysql.jdbc.Driver 无法解析为变量

java - 在其自己的类定义中将对象设置为 null

java - 使用 GSON 解析 JSON 对象列表

Java构造函数和静态方法

java - 直接在手机上运行 "aapt.exe"?

java - 错误 : Uncaught error fetching image: java. lang.NullPointerException

java - Java从文件中读取的格式

java - SonarQube 规则 "Methods returns should not be invariant"带 catch block

C# 中的 Java AES/CBC/PKCS5Padding

java - java 1.6和1.8中的`-Xms`和`-Xmx`