寫個簡單的例子,相信看了下面的例子,就會了解什么是fluent風格。
一.我們先寫一個通常的,即不使用fluent風格
1.實體類
package com.xbq.demo.stu; /** * @ClassName: Student * @Description: TODO(學生實體類) * @author xbq * @date 2017-3-26 下午9:54:00 */ public class Student { private String name; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Student [name=" + name + ", address=" + address + "]"; } }
2.測試類
package com.xbq.demo.stu; /** * @ClassName: Test * @Description: TODO(測試學生實體,非 fluent風格) * @author xbq * @date 2017-3-26 下午9:55:34 */ public class Test { public static void main(String[] args) { Student student = new Student(); student.setName("張三"); student.setAddress("廣東深圳"); System.out.println(student); } }
二.再寫一個使用fluent風格的
1.實體類
package com.xbq.demo; /** * @ClassName: Student * @Description: TODO(學生實體類) * @author xbq * @date 2017-3-26 下午7:56:20 */ public class Student { private String name; private String address; // 設置name的值,並且返回實體 public Student setName(String name){ this.name = name; return this; } // 設置address的值,並且返回實體 public Student setAddress(String address){ this.address = address; return this; } public String getName() { return name; } public String getAddress() { return address; } // 返回學生實體,可以做成單例 public static Student build(){ return new Student(); } @Override public String toString() { return "Student [name=" + name + ", address=" + address + "]"; } }
2.測試類
package com.xbq.demo; /** * @ClassName: Test * @Description: TODO(測試學生實體, fluent風格) * @author xbq * @date 2017-3-26 下午9:59:22 */ public class Test { public static void main(String[] args) { Student student = Student.build().setName("李四").setAddress("廣東廣州"); System.out.println(student.getName()); } }