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;
...

さらに、thisパラメーターにインスタンス変数と同じ名前を付けたため、使用が必要になるだけです。

于 2013-05-29T00:29:46.733 に答える