Basic Builder Example

This program demonstrates Builder design pattern.

Problem Statement

Write a Java program to implement Builder pattern for creating complex object User.

Source Code

1 class User {
2 String name; int age; String email;
3 private User(UserBuilder builder){
4 this.name=builder.name; this.age=builder.age; this.email=builder.email;
5 }
6 static class UserBuilder {
7 String name; int age; String email;
8 UserBuilder setName(String n){ name=n; return this; }
9 UserBuilder setAge(int a){ age=a; return this; }
10 UserBuilder setEmail(String e){ email=e; return this; }
11 User build(){ return new User(this); }
12 }
13 }
14 public class BuilderBasic {
15 public static void main(String[] args) {
16 System.out.println("Eduinq Builder Basic");
17 User u=new User.UserBuilder().setName("Arun").setAge(25).setEmail("arun@eduinq.com").build();
18 System.out.println("User: "+u.name+", Age: "+u.age+", Email: "+u.email);
19 }
20 }

Program Output

Eduinq Builder Basic
User: Arun, Age: 25, Email: arun@eduinq.com

Explanation

Builder separates construction from representation. - Step by step building of complex object. - Provides flexibility and readability. - Useful for immutable or complex objects. Conclusion: Shows how to implement Builder pattern.

Quick Links to Explore