Constructors should not access the values of fields that haven't yet been initialized. == Noncompliant Code Example ---- public abstract class MyAbstractClass() { String name; String fname; int hashCode; public abstract String getValue(); public MyAbstractClass(String name) { this.fname = this.name.split()[0]; // Noncompliant; this.name not assigned yet this.hashCode = getValue().hashCode(); // Noncompliant; child class constructor hasn't run yet } } ----