Если объявить переменную ссылочного типа final, объект по ссылке вообще никак нельзя изменить. Или все же можно с ним хоть что-то сделать? Например, если его члены тоже ссылочного типа и торчат наружу?
Саму ссылку нельзя изменить, а вот элементы объекта - можно, если они не final или если они имеют мутабельные апи. Например final User user, у которого внутри final ArrayList<Role> roles. Ссылку на user уже не изменить, ссылку на roles тоже, а вот изменить сам список roles с помощью методов List можно. Чтобы этого нельзя было сделать, нужно использовать иммутабельные коллекции.