2

我试图在类的声明中添加一个参数。

这是声明:

public static class TCP_Ping implements Runnable {

    public void run() {
    }

}

这就是我想要做的:

public static class TCP_Ping(int a, String b) implements Runnable {

    public void run() {
    }

}

(这不起作用)

有什么建议么?谢谢!

4

3 回答 3

3

您可能想要声明字段,并在构造函数中获取参数的值,并将参数保存到字段中:

public static class TCP_Ping implements Runnable {
  // these are the fields:
  private final int a;
  private final String b;

  // this is the constructor, that takes parameters
  public TCP_Ping(final int a, final String b) {
    // here you save the parameters to the fields
    this.a = a;
    this.b = b;
  }

  // and here (or in any other method you create) you can use the fields:
  @Override public void run() {
    System.out.println("a: " + a);
    System.out.println("b: " + b);
  }
}

然后你可以像这样创建你的类的一个实例:

TCP_Ping ping = new TCP_Ping(5, "www.google.com");
于 2013-04-06T01:46:29.113 回答
1

使用斯卡拉!很好地支持了这一点。

class TCP_Ping(a: Int, b: String) extends Runnable {
    ...
于 2013-04-06T01:46:44.160 回答
0

您不能在类标题上声明具体参数(有类型参数之类的东西,但这不是您所需要的)。您应该在类构造函数中声明您的参数,然后:

  private int a;
  private String b;

  public TCP_Ping(int a, String b) {
    this.a = a;
    this.b = b;
  }
于 2013-04-06T01:48:50.680 回答