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,但我完全迷失了
答案 0 :(得分:6)
使用类名作为前缀表示您正在尝试使用静态上下文。
要为实例变量赋值,请不要在其前面添加类名称,并在其前面添加this
:
this.host = host;
...
此外,仅使用this
是必要的,因为您将参数命名为与实例变量相同。