The following code shows how to make an immutable class:
package com.test;final class TestImmutable{// instance var are made private to restrict the access // and final to not get reassigned private final int var1; private final double var2; public TestImmutable(int paramCount,double paramValue) { var1= paramCount; var2 = paramValue; }// Only accessors are provided i.e getters to access the variables public int getVar1() { return var1; } public double getVar2() { return var2; }}//class TestingImmutablepublic class TestingImmutable{ public static void main(String[] args) { TestImmutable obj1 = new TestImmutable(3,5); System.out.println(obj1.getVar1()); System.out.println(obj1.getVar2()); // There is no other way to change the values of var1 & var2 //only accessors getVar1(),getVar2() to get the values // no subclassing, no public access to varX }}