The state of the object can't be changed. For example an object of a java.lang.String class. So if you design an object that should be a value object, don't provide any methods that change its state. That is, make it immutable. See ImmutableObject. ---- see ValueObjectsShouldBeImmutable