Non-overridable methods (private or final) that don't access instance data can be static to prevent any misunderstanding about the contract of the method.

Noncompliant Code Example

class Utilities {
  private static String magicWord = "magic";

  private String getMagicWord() { // Noncompliant
    return magicWord;
  }

  private void setMagicWord(String value) { // Noncompliant
    magicWord = value;
  }

}

Compliant Solution

class Utilities {
  private static String magicWord = "magic";

  private static String getMagicWord() {
    return magicWord;
  }

  private static void setMagicWord(String value) {
    magicWord = value;
  }

}

Exceptions

When java.io.Serializable is implemented the following three methods are excluded by the rule: