写个简单的例子,相信看了下面的例子,就会了解什么是fluent风格。

一.我们先写一个通常的,即不使用fluent风格

1.实体类

  1. package com.xbq.demo.stu;
  2.  
  3. /**
  4. * @ClassName: Student
  5. * @Description: TODO(学生实体类)
  6. * @author xbq
  7. * @date 2017-3-26 下午9:54:00
  8. */
  9. public class Student {
  10.  
  11. private String name;
  12. private String address;
  13.  
  14. public String getName() {
  15. return name;
  16. }
  17. public void setName(String name) {
  18. this.name = name;
  19. }
  20. public String getAddress() {
  21. return address;
  22. }
  23. public void setAddress(String address) {
  24. this.address = address;
  25. }
  26.  
  27. @Override
  28. public String toString() {
  29. return "Student [name=" + name + ", address=" + address + "]";
  30. }
  31. }

2.测试类

  1. package com.xbq.demo.stu;
  2.  
  3. /**
  4. * @ClassName: Test
  5. * @Description: TODO(测试学生实体,非 fluent风格)
  6. * @author xbq
  7. * @date 2017-3-26 下午9:55:34
  8. */
  9. public class Test {
  10.  
  11. public static void main(String[] args) {
  12. Student student = new Student();
  13. student.setName("张三");
  14. student.setAddress("广东深圳");
  15. System.out.println(student);
  16. }
  17. }

二.再写一个使用fluent风格的

1.实体类

  1. package com.xbq.demo;
  2.  
  3. /**
  4. * @ClassName: Student
  5. * @Description: TODO(学生实体类)
  6. * @author xbq
  7. * @date 2017-3-26 下午7:56:20
  8. */
  9. public class Student {
  10.  
  11. private String name;
  12. private String address;
  13.  
  14. // 设置name的值,并且返回实体
  15. public Student setName(String name){
  16. this.name = name;
  17. return this;
  18. }
  19.  
  20. // 设置address的值,并且返回实体
  21. public Student setAddress(String address){
  22. this.address = address;
  23. return this;
  24. }
  25.  
  26. public String getName() {
  27. return name;
  28. }
  29. public String getAddress() {
  30. return address;
  31. }
  32.  
  33. // 返回学生实体,可以做成单例
  34. public static Student build(){
  35. return new Student();
  36. }
  37.  
  38. @Override
  39. public String toString() {
  40. return "Student [name=" + name + ", address=" + address + "]";
  41. }
  42. }

2.测试类

  1. package com.xbq.demo;
  2.  
  3. /**
  4. * @ClassName: Test
  5. * @Description: TODO(测试学生实体, fluent风格)
  6. * @author xbq
  7. * @date 2017-3-26 下午9:59:22
  8. */
  9. public class Test {
  10.  
  11. public static void main(String[] args) {
  12. Student student = Student.build().setName("李四").setAddress("广东广州");
  13. System.out.println(student.getName());
  14. }
  15. }

Java fluent风格的更多相关文章

  1. Java fluent风格(转载)

    转载:java Fluent风格 一.我们先写一个通常的,即不使用fluent风格 1.实体类 package com.xbq.demo.stu; /** * @ClassName: Student ...

  2. Google Java编程风格指南

    出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...

  3. Google Java编程风格指南中文版

    作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...

  4. Java学习笔记(四)——google java编程风格指南(上)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  5. Java学习笔记(五)——google java编程风格指南(中)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  6. Java学习笔记(六)——google java编程风格指南(下)

    [前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...

  7. (转)google Java编程风格中文版

    转:http://www.hawstein.com/posts/google-java-style.html 目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 ...

  8. Google的Java编程风格指南(Java编码规范)

    这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...

  9. Java编程风格学习(二)

    二.格式规范 在上一篇的Java编程风格学习(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思想.今天我们将 ...

随机推荐

  1. LeetCode 新题: Find Minimum in Rotated Sorted Array 解题报告-二分法模板解法

    Find Minimum in Rotated Sorted Array Question Solution Suppose a sorted array is rotated at some piv ...

  2. python 字符和数值转换

    # python 字符和数值转换 ### 字符转数值------------------------------ ord('A') ==> 65- ord('B') ==> 66- ord ...

  3. 如何测试Linux 中的wait函数能不能等待子进程的子进程?

    #include <stdio.h> #include <stdlib.h> int main() { pid_t pid = fork(); switch(pid) { : ...

  4. ARM板卡ftp客户端应用

    BusyBox已集成命令tftp,可通过tftp上传或下载文件: Usage: tftp [OPTIONS] HOST [PORT] Transfer a file from/to tftp serv ...

  5. OC基础--常用类的初步介绍与简单使用之NSDate

    一.创建一个时间 NSDate *date = [NSDate date]; // 打印出的时间是0时区的时间(北京--东八区) NSLog(@"%@",date); 二.日期格式 ...

  6. ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒

    我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...

  7. 【转】 web 测试使用的chrome插件

    1.二维码插件 https://chrome.google.com/webstore/detail/%E4%BA%8C%E7%BB%B4%E7%A0%81qr%E7%A0%81%E7%94%9F%E6 ...

  8. hadoop集群运行dedup实现去重功能

    一.配置开发环境1.我们用到的IDE是eclipse.要用它进行hadoop编程,要给eclipse安装hadoop自带的插件.(有的版本以源码提供插件,需要用户根据需要自己编译)2.用到的eclip ...

  9. 安装cx_Oracle 遇到的杂项问题

    1. 解决方法: 将xc用户添加进sudousers 2.安装VMware Tools 更新 http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2F ...

  10. par函数的new 参数-进行图片的叠加

    默认调用高级绘图函数的时候,会另外在绘制一副图,为了将两幅图绘制在同一张纸上,可以设置new = TRUE 代码示例: plot(1:5, c(2,3,2,3,2), col = "red& ...