Et uforanderligt objekt kan ikke ændres efter det er konstrueret — alle felter sættes en gang, og der er ingen metoder, der muterer staten. For at "ændre" det, opretter du et nyt objekt.
Bygning af en uforanderlig type
java
{
cents;
String currency;
{
.cents = cents;
.currency = currency;
}
Money {
(.cents + other.cents, currency);
}
{ cents; }
}
