Java建造者模式实例分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了
千家信息网最后更新 2026年10月31日Java建造者模式实例分析
今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
优点
1.建造者独立,易扩展。
2.便于控制细节风险。
缺点
1.产品必须有共同点,范围有限制。
2.如内部变化复杂,会有很多的建造类。
使用场景
1.需要生成的对象具有复杂的内部结构。
2.需要生成的对象内部属性本身相互依赖。
一、实现方式
package com.asurplus.common.builder.style1;public class UserInfo { private String name; private int age; /** * 创建一个新的建造者 * * @return */ public static UserInfoBuilder builder() { return new UserInfoBuilder(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "UserInfo{" + "name='" + name + ", age=" + age + '}'; } /** * 建造者内部类 */ public static class UserInfoBuilder { private String name; private int age; public UserInfoBuilder name(String name) { this.name = name; return this; } public UserInfoBuilder age(int age) { this.age = age; return this; } /** * 创建一个新的实例对象并赋值 * * @return */ public UserInfo build() { UserInfo userInfo = new UserInfo(); userInfo.setName(this.name); userInfo.setAge(this.age); return userInfo; } }}我们定义了一个 UserInfo 类,有 name,age 两个属性,还定义了一个静态内部类 UserInfoBuilder,帮助我们建造 UserInfo,并提供链式调用的方法。
二、实现方式
1、引入依赖
org.projectlombok lombok true
Lombok 需要在 IDEA 中安装插件,具体方法,请百度。
2、实现
package com.asurplus.common.builder.style2;import lombok.Builder;import lombok.Data;/** * get set toString 方法注解 */@Data/** * 建造者模式注解 */@Builderpublic class UserInfo2 { private String name; private int age;}基于 Lombok 的注解,我们省略了大部分代码,但是具体的实现方式和我们的方式一是一模一样的,调用方法也是一样的。
三、测试
package com.asurplus.common.builder;import com.asurplus.common.builder.style1.UserInfo;import com.asurplus.common.builder.style2.UserInfo2;/** * 建造者模式 */public class TestMain { public static void main(String[] args) { // 手写的方式 UserInfo userInfo = UserInfo.builder().name("张三").age(20).build(); System.out.println(userInfo); // 注解的方式 UserInfo2 userInfo2 = UserInfo2.builder().name("李四").age(30).build(); System.out.println(userInfo2); }}输出结果
以上就是"Java建造者模式实例分析"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
方式
模式
方法
注解
知识
篇文章
实例
对象
实例分析
分析
复杂
内容
大部分
属性
生成
不同
很大
两个
代码
优点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
上海睿民互联网科技有限公司
互联网科技工作委员会主任
互联网科技资迅
互联网科技作文
中国互联网科技发展
善班互联网科技有限公司
郑州华宇互联网科技
科技伦理 互联网公司
成都仁贤领冠互联网科技有限公司
互联网科技创新企业排名
随着互联网科技发展
顶级互联网科技成果有哪些
互联网科技和信息
国大互联网教育科技有限公司工作
工业互联网展湾科技股份有限公司
小米互联网科技园入驻
美国互联网科技公司
半导体是互联网高科技吗
互联网科技快速发展优美句子
上海喔噻互联网科技有限公司
互联网科技金融
上海互联网科技有限公司
互联网科技排名
甘肃拓世互联网科技有限公司
随着互联网科技发展
互联网新科技动漫ppt素材
厦门江牛科技互联网
互联网科技包装股
云南互联网科技学费