如何让方法在java 流畅界面中先弹出?

How to make a method pop first in java fluent interface?

这是我的第一个问题,如果我搞砸了,请见谅。 我的任务是使用 Java 流畅的界面来实现邮件。 我必须有以下字段:发件人、收件人、主题。

问题是,我无法让 "From" 出现在第一个且唯一的位置。 例子: MailBuilder 生成器 = new MailBuilder(); builder.from("Stiliyan").to("Alexander").subject("Welcome aboard");

但是当我输入第一个点“.”时他们都出现了。 (例如 builder.to("a").from("b")..)

所以简而言之:建造者。(这里只能出现"from")。到("No worries")...“

Here is MailBuilder.java

So here after "." must appear ONLY from method

那么你的声明return每个构建器方法的类型不能相同。不过,您仍然可以 return 相同的构建器实例。例如:

interface IFromBuilder {
    IToBuilder from(String from);
}

interface IToBuilder {
    IMailBuilder to(String to);
}

interface IMailBuilder {
    Mail build();
}

class MailBuilder implements IFromBuilder, IToBuilder, IMailBuilder {

    private String from;
    private String to;

    @Override
    public IToBuilder from(String from) {
        this.from = from;
        return this;
    }

    @Override
    public IMailBuilder to(String to) {
        this.to = to;
        return this;
    }

    @Override
    public Mail build() {
        return new Mail(from, to);
    }
}

class Mail {
    private final String from;
    private final String to;

    public Mail(String from, String to) {
        this.from = from;
        this.to = to;
    }

    public static IFromBuilder newBuilder() {
        return new MailBuilder();
    }
}


public class Demo {
    public static void main(String[] args) {
        Mail mail = Mail.newBuilder().from("sender@a.com").to("receiver@b.com").build();
    }
}