0
public class UDP implements Runnable {

    private String host;
    private int port;
    private int delay;
    private int timeout;

    @Override
    public void handlePacket(String host, int port, int delay, int timeout) {
        UDP.host = host;
        UDP.port = port;
        UDP.delay = delay;
        UDP.timeout = timeout;
        Executors.newSingleThreadExecutor().execute(new UDP());
    }

我得到的错误是非静态字段不能引用到静态上下文我不知道我应该做什么,我知道一点java,但我完全迷路了

4

1 回答 1

6

使用类名作为前缀表示您正在尝试使用静态上下文。

要将值分配给实例变量,请不要在其前面加上类名,而是在其前面加上this

this.host = host;
...

此外, usingthis只是必要的,因为您将参数命名为与实例变量相同的名称。

于 2013-05-29T00:29:46.733 回答