Почему этот класс имеет два конструктора?

Я вижу это на слайде, который призван проиллюстрировать конструкторов. Теперь я в замешательстве, потому что у него два конструктора с одинаковым заданием, которые принимают значение gpa, равное нулю во втором. Почему кодер должен повторитьthis.id = id; this.name = name; очередной раз? Зачем этому классу даже два конструктора?

class Student{
      private int id;
      private String name;
      private double gpa;
      public Student(int id, String name, double gpa){
        this.id = id;  this.name = name;   this.gpa = gpa;
      }
      public Student(int id, String name){
        this.id = id;  this.name = name;   gpa = 0.0;
      }
      public boolean equals(Student other){
          return id == other.id && name.equals(other.name) 
                       && gpa == other.gpa;
      }
      public String toString(){
        return name + " " + id + " " + gpa;
      }
      public void setName(String name){
        this.name = name;
      }
      public double getGpa(){
        return gpa;
      }
    }

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

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