Java устанавливает приватные поля внутри конструкторов

Обычная практика проектирования - сделать переменные экземпляра частными и иметь общедоступные методы получения и установки для доступа к ним. Но много раз я видел в Интернете примеры кода, в которых есть конструкторы, которые присваивают значения непосредственно закрытой переменной экземпляра, а не используют сеттеры внутри конструкторов. Я что-то пропустил?

public class Person{
    private String name;

    public Person(String name){
        //is this right, seems like the whole encapsulation purpose is defeated
        this.name = name;

        //shouldn't this be used
        setName(name);
    }

    public String getName(){
        return this.name;
    }

    public void setName(String name){
        this.name = name;
    }
}

Ответы на вопрос(10)

Ваш ответ на вопрос