【问题标题】:Java - Assigning arguments to multiple variables in constructorJava - 在构造函数中将参数分配给多个变量
【发布时间】:2013-02-09 23:58:27
【问题描述】:

我在网上搜索过,找不到答案。在构造函数中将参数分配给多个变量是否不合适,还是必须存在一对一的关系?

public A6HangmanLogic(String keyPhrase, int numberOfGuesses)
{
    this.keyPhrase = keyPhrase;
    this.numberOfGuesses = numberOfGuesses;
    guessesLeft = numberOfGuesses;
}

guessesLeft 的值(一个静态整数)从通过循环更新的访问器方法返回。我当然可以写一个 mutator 方法,但是我必须调用它。我也可以将 this.numberOfGuesses 更改为只是 guesses 而根本没有第三个变量赋值。

【问题讨论】:

  • 没关系。但是,如果您发现构造函数中的代码过多,只需创建另一个方法并调用它。

标签: java variables constructor arguments


【解决方案1】:

没有理由不能为多个变量分配相同的值。

另一种解决问题的方法可能是存储猜测的次数,然后计算剩下的猜测次数。

【讨论】:

    【解决方案2】:

    是的,可以将参数分配给任意数量的变量。

    您可以像在方法中一样使用它们。

    【讨论】:

      【解决方案3】:

      没关系,但我会存储 guessCount 并使用默认的初始化值零:

      private guessCount;
      

      我还将numberOfGuesses 重命名为maxGuesses,这样它的含义就更清楚了(它也更传统)。

      【讨论】: