fluent 接口(链式调用的接口)
 
介绍
 
在一些框架中,比如hiberante中,比如配置系统变量时,通常都是链式调用来赋值的.
如下赋值就是链式调用:
Person person = new Person();
    person.setId(1)
          .setBirthday(LocalDate.of(1991, 10, 7))
          .setName("Mark");
借助this关键字来实现. 
 
Java Code 示例
 
/**
 * 尝试写fluent链式接口/类
 * 
 * @author xuyi
 * @Time 2016年12月4日 下午2:00:06
 * @类名 Person
 * @功能描述:
 * @春风十里不如你
 * @备注:
 */
public class Person
{
    private int         id;
    private String      name;
    private LocalDate   birthday;
    public Person setId(int id)
    {
        this.id = id;
        return this;//返回当前对象
    }
    public Person setName(String name)
    {
        this.name = name;
        return this;//返回当前对象
    }
    public Person setBirthday(LocalDate birthday)
    {
        this.birthday = birthday;
        return this;//返回当前对象
    }
} 
 
总结
 
借助this关键字可以实现链式调用,这种接口给使用者非常好的体验,很多优秀的框架中都有提供这样的接口.