Immutable Object Builder

This program demonstrates Builder for immutable objects.

Problem Statement

Write a Java program to implement Builder pattern for immutable Car object.

Source Code

1 final class Car {
2 private final String model; private final int year;
3 private Car(CarBuilder builder){ model=builder.model; year=builder.year; }
4 static class CarBuilder {
5 String model; int year;
6 CarBuilder setModel(String m){ model=m; return this; }
7 CarBuilder setYear(int y){ year=y; return this; }
8 Car build(){ return new Car(this); }
9 }
10 void show(){ System.out.println("Car: "+model+", Year: "+year); }
11 }
12 public class BuilderImmutable {
13 public static void main(String[] args) {
14 System.out.println("Eduinq Builder Immutable");
15 Car c=new Car.CarBuilder().setModel("Honda").setYear(2020).build();
16 c.show();
17 }
18 }

Program Output

Eduinq Builder Immutable
Car: Honda, Year: 2020

Explanation

Immutable object ensures state cannot change after creation. - Builder provides controlled construction. - This is useful for thread safety and reliability. Conclusion: Shows how to implement Builder for immutable objects.

Quick Links to Explore