Question 155 Why should you prefer private fields and accesses? Short answer, because it is safer. Less short answer, a private field must be accessed through an accessor, meaning that you can control the access and. There are two things that you can easily do. The first one is the defensive copy. Sometimes you need to protect your internal state from outside modifications, even if you're. Field is final. It can be a reference to a mutable container that you need to copy when you build your object, and the second one is concurrent. Access fields can be declared volatile, but it only makes the reference thread safe. You can then guarantee thread safety using a synchronized block. One last word, by default always use private field. Always.