java setters,不适用于参数(void)

java setters,不适用于参数(void),java,Java,有人知道我做错了什么吗,我得到了这个错误“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));' sette

有人知道我做错了什么吗,我得到了这个错误“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));'

setter返回void,而不是实例本身。您应该这样做

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

new Tea().setName(“Rosehip Tea”)
的返回类型为
void
,因为
setName()
不返回任何内容。请执行以下操作:

Tea t = new Tea();
t.setName("Rosehip Tea");

setter方法通常具有返回类型void。该方法可能会给Tea一个Tea。 您要做的是创建一个对象并将属性添加到一起。您应该拆分该对象或创建一个正在设置某些属性的构造函数

后者是一种很好的方法,因为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;
 }
 ....

}

好吧,我想这看起来像Java……如果你想在setter方法中使用链接,你可以在所有setter中返回你的实例“this”。
giveTea
Guest
类的一个字段还是一个方法?我想不出任何语言可以解析
alice.giveTea。(参数…
如果它是一个方法的话。)(注意
giveTea
后面的点)。我认为不应该有点,因为它可能是一种方法。我们需要class
Guest