Immutable object
= Immutable object
An immutable object does not change its observable state after construction. Immutable fields prevent reassignment of their stored values, but fields containing references to mutable <software objects> do not automatically make the reachable <software object> graph immutable. Read-only generic producers can often support covariant <type parameters>; publicly writable fields generally cannot.