Mutable objects must such that it is possible to modify their state. Such modifications are called side-effects. Methods that perform such modifications are called methods with side-effect.
Example:
public class SideEffect1 {
public static void main (String[] args) {
StringBuffer s = new StringBuffer("test");
StringBuffer t;
t = s;
s.append("!");
System.out.println(s.toString());
System.out.println(t.toString());
}
}
Considerations:
Note: in general, the append() methods returns a reference to the modified invocation object, however, in the s.append("!"); statement, such a reference is not used.
