Java fluent風格


寫個簡單的例子,相信看了下面的例子,就會了解什么是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());
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM