2020-12-21 15:38:52 +01:00
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.
2020-06-30 12:48:07 +02:00
== 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
2020-12-21 15:38:52 +01:00
When `+java.io.Serializable+` is implemented the following three methods are excluded by the rule:
2020-06-30 14:49:38 +02:00
2020-12-21 15:38:52 +01:00
* `+private void writeObject(java.io.ObjectOutputStream out) throws IOException;+`
* `+private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;+`
* `+private void readObjectNoData() throws ObjectStreamException;+`