创建一个女朋友,她有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都是不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以根据自己的喜好去建造不同的女朋友,我们不需要关心她是如何建造的,我们只需要去指定她的属性就行了

相比如文字解释,我更习惯撸代码来解释,下面来一步步实现如何用java来为你创建一个女朋友

首先定义一个女朋友类:

package nuoyanli;

/**

* Created by ${nuoyanli} on 2019/4/7.

*/

public class GirlFriend {

private String sex;//性别

private int age;//年龄

private int stature;//身高

private int weight;//体重

private String type;//类型

按照我们以往的了解,要创建一个女朋友是不是要直接new出来,我们可以通过构造方法把属性传过去

例如:我对女朋友的要求只有一个,是女的就行,定义一个构造方法:

public GirlFriend(String sex) {

this.sex = sex;

}

然后再需要的时候来创建她:

GirlFriend girlFriend = new GirlFriend("女");

如果我们要求性别和身高就要定义:

public GirlFriend(String sex, int stature) {

this.sex = sex;

this.stature = stature;

}

你想想每个人的要求都不一样,你得创建多少个构造方法,而且参数多了,可读性很差比如:

GirlFriend girlFriend = new GirlFriend("女",19,170,90,"声优");

java有一个建造者项目:

建造一个GirlFriendBuilder类:

package nuoyanli;

/**

* Created by ${nuoyanli} on 2019/4/7.

*/

public class GirlFriendBuilder {

String sex;//性别

int age;//年龄

int stature;//身高

int weight;//体重

String type;//类型

public GirlFriendBuilder setSex(String sex) {

this.sex = sex;

return this;

}

public GirlFriendBuilder setAge(int age) {

this.age = age;

return this;

}

public GirlFriendBuilder setStature(int stature) {

this.stature = stature;

return this;

}

public GirlFriendBuilder setWeight(int weight) {

this.weight = weight;

return this;

}

public GirlFriendBuilder setType(String type) {

this.type = type;

return this;

}

/**

*返回一个GirlFriend对象

*/

public GirlFriend build() {

return new GirlFriend(this);

}

}

然后在GirlFriend类里面构造方法传入GirlFriendBuilder对象:

public GirlFriend(GirlFriendBuilder builder) {

this.sex = builder.sex;

this.age = builder.age;

this.stature = builder.stature;

this.weight = builder.weight;

this.type = builder.type;

}

然后创建的时候:

GirlFriend girlFrie1nd = new GirlFriendBuilder()

.setAge(19)

.setSex("女")

.setType("声优")

.setStature(175)

.build();

这样就成功创建了一个女朋友,代码的可读性也挺高的

如果对这个女朋友不满意,可以自定义属性哦,由于笔者水平有限,并且找不到女朋友所以只能先new一个girFriend对象

以上所述是小编给大家简介的java建造者项目傻瓜式一键重写详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对乐购源码网址的支持!

java新建一个女朋友_详解java创建一个女朋友类(对象啥的new一个就是)==建造者项目,傻瓜式一键重写...相关推荐

  1. java新建一个女朋友_详解java创建一个女朋友类(对象啥的new一个就是)==建造者模式,一键重写...

    创建一个女朋友,她有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都是不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以根据 ...

  2. java 配置文件的路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设 ...

  3. java 线程一直运行状态_详解JAVA 线程-线程的状态有哪些?它是如何工作的?

    线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在. 一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源.更加轻量化,也因 ...

  4. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

  5. java 死锁 内存消耗_详解Java中synchronized关键字的死锁和内存占用问题

    先看一段synchronized 的详解: synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并 ...

  6. java注解 源码_详解Java注解教程及自定义注解

    详解Java注解教程及自定义注解 更新时间:2016-02-26 11:47:06   作者:佚名   我要评论(0) Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个 ...

  7. java的注解方式_详解Java注解的实现与使用方法

    详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四 ...

  8. java集合for循环_详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...

  9. java访问本地文件_详解Java读取本地文件并显示在JSP文件中

    详解Java读取本地文件并显示在JSP文件中 当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片.其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相 ...

  10. java的自动装箱_详解Java 自动装箱与拆箱的实现原理

    详解Java 自动装箱与拆箱的实现原理 发布于 2020-7-4| 复制链接 本篇文章主要介绍了详解Java 自动装箱与拆箱的实现原理,小妖觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小妖 ...

最新文章

  1. python类、对象、方法、属性之类与对象笔记
  2. 字节2020算法岗校招一面
  3. 查看HTML代码却被当黑客,记者好心报告漏洞,反遭美国州长起诉
  4. 二维绘图引擎:圆、半圆、弧线绘制
  5. Android使用SAX解析XML(6)
  6. ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能
  7. hive 导出json格式 文件_hive中创建hive-json格式的表及查询
  8. Spark Scala当中reduceByKey的用法
  9. 学Mysql怎样快速入门?
  10. GitHub 年度报告正式发布,JavaScript 霸榜、TypeScript 爆发!
  11. Web 设计师的 50 个超便利工具[下]
  12. LINUX 命令手册
  13. 爬虫笔记_1、爬虫的五个步骤及举例
  14. 一文彻底看懂Base64原理(并使用java实现)
  15. Java自己编名字的百家姓罗列
  16. 图书所属类别用mysql_Java图书信息查询
  17. java catch中throw_Java的catch块中throw e和throw new Exception(e)有什么区别?
  18. SpringMVC总结笔记
  19. Android手势密码
  20. c语言实现一个密码管理器(更新中)

热门文章

  1. 游戏攻略:《刺客信条:启示录》通关感想和对刺客信条3展望
  2. Python程序员必须深刻理解的几个Warning
  3. PHP 虚拟目录 虚拟主机 域名配置
  4. 指定固定ip地址提示被其他网络适配器占用,快速解决占用冲突问题
  5. VoIP和电话网络浅析
  6. 服务器cache I O 修改 bios,使用 SUM 工具修改超微 BIOS 配置
  7. 音乐网站php开发视频,搭建自己的音乐网站
  8. python画三维几何图形拼成的图案_Scratch3.0少儿编程案例:循环画窗花
  9. 电脑桌面护眼色调配方案
  10. xcode怎么更换app的图标和名字?