转载:java 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());
}
}
05-11 20:46