zoukankan      html  css  js  c++  java
  • 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());
        }
    }
  • 相关阅读:
    LeetCode第[84]题(Java):Largest Rectangle in Histogram(最大的矩形柱状图)
    LeetCode第[79]题(Java):Word Search(矩阵单词搜索)
    LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
    关于SpringMVC中两种映射器不能共存的解决
    LeetCode第[73]题(Java):Set Matrix Zeroes(矩阵置0)
    php分页的实现
    PHP编码规范
    PHP常用函数
    PHP配置文件详解php.ini
    面向对象编程——parent—this
  • 原文地址:https://www.cnblogs.com/xbq8080/p/6624305.html
Copyright © 2011-2022 走看看