共享变量出错



所以,我在Java(NetBeans(中很难处理共享变量。我有一个类带有一个变量——让我们称之为statlbl。所以它是一个不可编辑的标签,其内容由另一个类更改。

这是情景喜剧。。。我完全不知道如何用另一个类更改位于一个类中的标签。

以下是代码提取:

//Print the ip address   
System.out.println("This server's IP Address: " + ipAddress); TS_Entity.statlbl.setText("This server's IP Address: "
    + ipAddress);
         try {
             Thread.sleep(1000L);
         } catch (Exception e) {
         }

调试时,IDE显示一个错误,描述为"非静态变量不能从静态上下文引用">

任何帮助都将不胜感激!

您没有TS_Entity类的对象。您需要创建一个实例:

TS_Entity tsEntity = new TS_Entity();

以访问非静态字段。静态字段是类中的字段,而不是单个实例。对于其他字段,您将需要对象的一个实例,如示例中的tsEntity

该错误表示变量statlbl不是静态的。您要么需要一个类型为TS_Entity的对象,比如entity。那么你的命令就是

entity.statlbl.setText("This server's IP Address: " + ipAddress);

要么这样,要么使statlbl成为一个静态变量。

您使用的变量statlbl是一个非静态变量。但是您正试图从一个本身是静态的方法访问这个非静态变量statlbl

这在java中是不可能的。您必须将statlbl变量声明为static。

要从静态方法访问非静态字段,您需要创建这样的Object实例:

TS_Entity en = new TS_Entity()

现在您可以使用该对象的setter方法更改statlbl的值。

相关内容

  • 没有找到相关文章

最新更新