-1

誰かがここで何が間違っているのか見ていますか、私はこのエラーを受け取ります」タイプ Guest のメソッド giveTea は引数 (void) には適用されません。Java が初めてで、私の英語は XD が悪いので、これはどういう意味ですか

Guest alice = new Guest();
alice.giveTea. (new Tea().setName("Roseship Tea"));
alice.giveTea. (new Tea().setSugar(false));
alice.giveTea. (new Tea().setMilk(true));'
4

3 に答える 3

1

セッターは、インスタンス自体ではなく、void を返します。こうすればいい

Guest alice = new Guest();
Tea tea = new Tea();
tea.setName("Roseship Tea");
tea.setSugar(false);
tea.setMilk(true);
alice.giveTea(tea);
于 2012-12-27T20:48:31.083 に答える
0

セッターメソッドは通常、戻り型がvoidです。メソッドgiveTeaはおそらくお茶です。あなたがしているのは、オブジェクトを作成し、プロパティを一緒に追加することです。これを分割するか、いくつかのプロパティをすぐに設定するコンストラクターを作成する必要があります。

Teaオブジェクトは、作成後に不変オブジェクトである必要があるため、後者は良い方法です。したがって、その設計は次のようになります。

public class Tea{
 private final String teatype;
 private final boolean sugar;

 public Tea(String pType, boolean pSugar){
  teatype = pType;
  sugar = pSugar;
 }

 public String getTeatype(){
  return teatype;
 }
 ....

}
于 2012-12-27T20:55:42.370 に答える
0

戻り値の型はnew Tea().setName("Rosehip Tea")何も返さないvoidためです。setName()このようにしてください:

Tea t = new Tea();
t.setName("Rosehip Tea");
于 2012-12-27T20:48:50.537 に答える