Immutable Class - Java
Class should be made final - avoiding overriding of methods by sub classes All fields should be final and private - avoiding fields access outside the class and avoiding the changes in the field values No setters Make sure that mutable fields getters will return a defensive copy from their getter method, there by avoiding the state to be mutated public final class Immutable { private final Integer immutableinteger; private final String immutableString; private final Date mutableDate; public Immutable(Integer immutableinteger, String immutableString, Date mutableDate) { this.immutableinteger = immutableinteger; this.immutableString = immutableString; this.mutableDate = mutableDate; } public Integer getImmutableinteger() { return immutableinteger; ...