Es ist nur beste OOP-Praxis, Variablen im richtigen Umfang zu halten. Ein Beispiel wäre eine globale statische letzte Ganzzahl zum Ausführen einer Anzahl von Berechnungen innerhalb der Klasse. Wenn sie öffentlich gemacht werden, kann dies nicht nur zu Problemen führen, sondern auch zu Verwirrung.
Sagen Sie bitte eine Klasse haben, wo man den Wert von pi muß wissen:
public class MyClass {
private static final double PI = 3.14159;
//functions performing calculations with value of PI
}
Der Wert von Pi nur innerhalb MyClass
benötigt wird, es so zu verlassen machen keinen Sinn, ausgesetzt werden - alle Berechnungen mit der Variable sind innerhalb MyClass
getan. Wenn Sie es erneut benötigen, um eine Berechnung durchzuführen, sollte dies innerhalb der Klasse erfolgen, die den Wert enthält, damit Ihr Code organisiert bleibt.
Nur weil das Feld final ist, bedeutet das nicht, dass das Objekt, auf das es verweist, unveränderlich ist. Daher müssen Sie es möglicherweise noch einkapseln. – Andreas
Logger ist ein gutes Beispiel, siehe http://stackoverflow.com/questions/26241787/declaring-variable-final-and-static?rq=1 –
Oder einfach alles, was nicht offen gelegt werden muss, um die API klein zu halten . –