Читаю лекцию по инкапсуляции. https://javarush.com/groups/posts/1928-getterih-i-setterih Там рассматриваються примеры с геттерами и сеттерами, которые защищают от создания некорректных полей, например кота возрастом +1000 лет) При этом в примере кода остается паблик конструктор, который позволит создать того же кота возрастом -1000 лет, несмотря на сеттеры и гетеры. Это недостаток статьи или я чего то недопонял?
public class Cat {

   private String name;
   private int age;
   private int weight;

   public Cat(String name, int age, int weight) {
       this.name = name;
       this.age = age;
       this.weight = weight;
   }

   public Cat() {
   }

   public void sayMeow() {
       System.out.println("Мяу!");
   }

   public String getName() {
       return name;
   }

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

   public int getAge() {
       return age;
   }

   public void setAge(int age) {
       this.age = age;
   }

   public int getWeight() {
       return weight;
   }

   public void setWeight(int weight) {
       this.weight = weight;
   }
}