java中的链式编程


听到链式编程听陌生的,但是写出来就感觉其实很熟悉


 1 package test;
 2 
 3 public class Test {
 4     String name;
 5     String phone;
 6     String mail;
 7     String sex;
 8     public Test setName(String name) {
 9         this.name = name;
10         return this;
11     }
12     public Test setPhone(String phone) {
13         this.phone = phone;
14         return this;
15     }
16     public Test setMail(String mail) {
17         this.mail = mail;
18         return this;
19     }
20     public void setSex(String sex) {
21         this.sex = sex;
22     }
23     public static void main(String[] args) {
24         Test test = new Test();
25         test.setName("test").setPhone("110").setMail("admin@china.cn").setSex("中性 ");
26     }
27 }

格式中除了最后一个方法不要求必须返回对象或对象引用外,其余set方法都必须返回一个支持方法调用的对象或对象引用;否则将无法完成链式调用,而产生语法错误。


方法链式调用的原理是显而易见的:因为第一个方法调用返回的是该方法的对象引用,因而这个引用可以产生下一个方法调用;如此而已,生成一个调用链

因为最后一个方法调用意味着这个调用链的结束,所以没有必要必须有返回类型

如果方法链式调用应用在输出或者赋值语句中,它的最后一个方法通常返回某个运算结果。


注意 不适当使用方法链式调用将消弱程序的可读性


欲为大树,何与草争;心若不动,风又奈何。
原文地址:https://www.cnblogs.com/admln/p/java-chain-program.html