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());
        }
    }
  • 相关阅读:
    C/S和B/S结构区别整理
    JavaScript特点、优缺点及常用框架
    ExtJs特点、优缺点及注意事项
    Oracle SQL 脚本跟踪
    解决 C#中 SQL脚本执行超时 问题
    oracle 时间转化函数及常见函数 .
    Spring.NET 1.3.2 集成 NHibernate 3.2 1 下载软件
    SQL Server 跨服务器 不同数据库之间复制表的数据的方法:
    spring.net nhibernate 分布布式事务(上)
    set xact_abort ON 你懂的, 在分布式数据库事务中,用到. 在事务中,若出现错误,系统即默认回滚事务
  • 原文地址:https://www.cnblogs.com/xbq8080/p/6624305.html
Copyright © 2011-2022 走看看