最近发现,目前大火的许多开源框架中,大多都使用了一种"(方法).(方法).(方法)"的形式进行调用,最典型的就是RxJava。android中AlertDialog控件的源码也是这种形式的。查阅可知,大家把它叫做链式调用。“行动是检验程序的唯一标准”0.0!查了、说了那么多,还是得自己写个例子并运行出预期的效果。
/**
*
* 链式调用
* @author k.k
*
*/
public class Student {
public Student() {
}
public static Builder builder(){
return new Builder();
}
static class Builder{
private String name;
private String age;
private String grade;
private String no;
private String Professional;
public String getName() {
return name;
}
public Builder setName(String name) {
this.name = name;
return this;
}
public String getAge() {
return age;
}
public Builder setAge(String age) {
this.age = age;
return this;
}
public String getGrade() {
return grade;
}
public Builder setGrade(String grade) {
this.grade = grade;
return this;
}
public String getNo() {
return no;
}
public Builder setNo(String no) {
this.no = no;
return this;
}
public String getProfessional() {
return Professional;
}
public Builder setProfessional(String professional) {
Professional = professional;
return this;
}
public void showMessagwe(){
System.out.println("姓名:"+this.name);
System.out.println("年龄:"+this.age);
System.out.println("班级:"+this.grade);
System.out.println("学号:"+this.no);
System.out.println("专业:"+this.Professional);
}
}
public static void main(String[] args) {
Student.builder()
.setName("总有刁民想害朕")
.setAge("23")
.setGrade("大三")
.setNo("20110310")
.setProfessional("信息管理与信息系统")
.showMessagwe();
}
}