听到链式编程听陌生的,但是写出来就感觉其实很熟悉
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方法都必须返回一个支持方法调用的对象或对象引用;否则将无法完成链式调用,而产生语法错误。
方法链式调用的原理是显而易见的:因为第一个方法调用返回的是该方法的对象引用,因而这个引用可以产生下一个方法调用;如此而已,生成一个调用链
因为最后一个方法调用意味着这个调用链的结束,所以没有必要必须有返回类型
如果方法链式调用应用在输出或者赋值语句中,它的最后一个方法通常返回某个运算结果。
注意 不适当使用方法链式调用将消弱程序的可读性