Используются они не совсем для инкапсуляции, ведь аксессоры её как бы нарушают.
Используют их, чтобы была возможность запихнуть в аксессоры дополнительную логику (например, логгирование, валидация и прочие штуки), не переписывая весь код. Для доступа к полям везде пишешь setField/getField, и при необходимости, логику добавляешь в эти методы. Классы, использующие поля не меняются, а вот поведение может меняться.
Если же поля константные/статические, то нет особого смысла делать их private, пиши public/protected и не парься.