转载:java 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风格

    写个简单的例子,相信看了下面的例子,就会了解什么是fluent风格. 一.我们先写一个通常的,即不使用fluent风格 1.实体类 package com.xbq.demo.stu; /** * @C ...

  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. Google Java编程风格指南中文版(转)

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

  5. Google的Java编程风格指南

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

  6. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

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

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

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

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

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

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

随机推荐

  1. 随机获取指定范围内N个不重复数字

    /// <summary> /// 随机获取指定范围内N个不重复数字 /// </summary> /// <param name="min"> ...

  2. 阿里云CentOS7部署MySql8.0

    本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云CentOS 7.4.1708版本; 客户端:Windows 10; SFTP客 ...

  3. attr 和 prop的区别

    attr 返回的是字符串 prop 返回的是布尔值

  4. iframe 框架 父页面与子界面之间的变量、函数、元素获取

    1.获取页面上的iframe 1-1. document.getElementById('iframeId'): 1-2. window.frames[0].window.frames['frameN ...

  5. cookie的简单认识

    1.cookie Cokie又叫会话跟踪技术,实际上就是客户端硬盘上的一个文本文件,该文件用来存储一些数据. 首先,HTTP请求时无状态的,也就是说,你打开一个网页和下一个网页之间没有任何关系,数据不 ...

  6. 偏前端-HTML5 sessionStorage-会话存储

    sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.本篇主要介绍 sessionStorage(会话存储) ...

  7. vue中渲染页面,动态设置颜色

    for循环中动态设置页面的图标或者字体颜色与循环中且套循环 :style="{'color':items.color}" 案例代码: html中 <div class=&qu ...

  8. 如何发布自己模块到NPM

    创建项目 npm init name: (my-npm) version: (1.0.0) description: 0.0.1 entry point: (index.js) test comman ...

  9. 嵌入式C语言自我修养 09:链接过程中的强符号和弱符号

    9.1 属性声明:weak GNU C 通过 __atttribute__ 声明weak属性,可以将一个强符号转换为弱符号. 使用方法如下. void __attribute__((weak)) fu ...

  10. FreeRTOS内存管理

    简介 Freertos的内存管理分别在heap_1.c,heap_2.c,heap_3.c,heap_4.c,heap_5.c个文件中,选择合适的一种应用于嵌入式项目中即可. 本文的图片中 红色部分B ...