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.