Założę się, że jest narażony głównie na zwięzłość. Porównaj:
System.out.prinln("blah");
z
System.getOut().println("blah");
Była to postać nie wiele krótsze, ale nadal jest to krótsze i prostsze koncepcyjnie. Prawdopodobnie jest to również szybsze, być może szczególnie w dniu, w którym JIT nie było zbyt powszechne w wirtualnych maszynach Java; Założę się, że bezpośredni dostęp jest szybszy niż wywołanie metody w tych przypadkach. Sprowadza się to do kompromisu.
UPDATE:
chodzi o final
i setOut()
The documentation for the latter mówi, że jeśli nie jest menedżerem bezpieczeństwa, zostanie on zapytał, czy rozmówca może ponownie ustawić strumień wyjściowy. To może być odpowiedź; jeśli członek out
został bezpośrednio przypisany, nie byłoby sposobu, aby go chronić.
To tylko moja interpretacja API i myśli, które mogą być za jego projektem, mógłbym odejść.
Kapsułkowanie nie oznacza "zmień wszystkie zmienne jako prywatne lub chronione". –
Zgadzam się, chociaż lubię mieć swoich członków jako prywatnych (z wyjątkiem ostatecznych statycznych). –
:) Istnieje żart tam ... – Varkhan