Objects that cannot be modified are immune to aliasing
// : appendixa:Immutable1.java // Objects that cannot be modified are immune to aliasing. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. public class Immutable1 { private int data; public Immutable1(int initVal) { data = initVal; } public int read() { return data; } public boolean nonzero() { return data != 0; } public Immutable1 multiply(int multiplier) { return new Immutable1(data * multiplier); } public static void f(Immutable1 i1) { Immutable1 quad = i1.multiply(4); System.out.println("i1 = " + i1.read()); System.out.println("quad = " + quad.read()); } public static void main(String[] args) { Immutable1 x = new Immutable1(47); System.out.println("x = " + x.read()); f(x); System.out.println("x = " + x.read()); } } ///:~