2

次のコードは、正しいゲッターとセッターの規則に従っていないと言われました。理由や場所が分からず困っています。コンストラクターを使用して、新しいチーム名を set メソッドに渡しています。Java の初心者ですが、ゲッター メソッドとセッター メソッドの両方が問題ないように思えました。私が間違っている?ありがとう。

public class Team {

  private String teamName;

  public Team(String newName) {
    setName(newName);
  }

  public String getName() {
    return teamName;
  }

  public void setName(String newName) {
    teamName = newName;
  }

  public String toString() {
    return teamName;
  }

  public boolean equals(Team t){
    if(t.getName().equals(teamName)){
        return true;
    } else{
        return false;
    }       
  }

}
4

5 に答える 5

7

変数名がXの場合、ゲッター/セッターは になりますgetX/setX

IntelliJ などの優れた IDE は、これらを生成します。

It'll also generate equals for you properly, which you did not, and give you a hashCode. You always need to implement those two together. Read Joshua Bloch's "Effective Java" chapter 3 to see the hows and whys.

于 2013-05-27T12:32:17.747 に答える
4

代わりに andである必要がgetTeamNameありsetTeamNameます。通常、プロパティが と呼ばれるfoo場合、ゲッターとセッターはそれぞれgetFoosetFooになります。

もちろん、コメントで示唆されているように、クラスは既に呼び出されているため、プロパティ名を からteamNameにリファクタリングすることもできます。nameTeam

于 2013-05-27T12:32:06.493 に答える
0

ゲッターとセッターは、属性名を参照する必要があります。

この場合、正しい規則はgetTeamNameandsetTeamNameでなければなりません。

于 2013-05-27T12:33:36.050 に答える