java及android中常用到的链式调用写法

来源:互联网 发布:淘宝领优惠券网站 编辑:程序博客网 时间:2024/06/08 08:20
最近发现,目前大火的许多开源框架中,大多都使用了一种"(方法).(方法).(方法)"的形式进行调用,最典型的就是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();}}
原创粉丝点击