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());
        }
    }
  • 相关阅读:
    批处理 bat 查询局域网内在线电脑IP
    svn忽略不需要同步的文件夹或文件
    脚本设置IP bat 命令行设置自动获取IP和固定IP
    Lua中使用状态机FSM简单例子
    Lua 数组排序 table.sort的注意事项
    lua中怎么替换掉字符串中的$^特殊字符?
    C#应用程序隐藏调用bat脚本
    Oracle 基础教程
    Python编程
    利用Python进行数据分析(九)NumPy高级应用
  • 原文地址:https://www.cnblogs.com/xbq8080/p/6624305.html
Copyright © 2011-2022 走看看