Objects that cannot be modified are immune to aliasing : class object « Class « Java






Objects that cannot be modified are immune to aliasing

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());

  }
} ///:~


           
         
  








Related examples in the same category

1.Create Object DemoCreate Object Demo
2.Passing objects to methods may not be what you're used to.Passing objects to methods may not be what you're used to.
3.Demonstrates Reference objectsDemonstrates Reference objects
4.A companion class to modify immutable objectsA companion class to modify immutable objects
5.Examination of the way the class loader worksExamination of the way the class loader works
6.A changeable wrapper classA changeable wrapper class
7.This program demonstrates object construction
8.This program tests the Employee classThis program tests the Employee class