Не верно.
Легче понять вашу ошибку, если проговорить словами код написанный вами.
Вот, ваш код:
public class University{}
public class Faculty extends University {}
public class Group extends Faculty {}
public class Student extends Group {}
Итак, вы говорите, что есть некий
Университет
Факультет
РАСШИРЯЕТ Университет. Уже нестыковка. Ведь, в Университете ИМЕЮТСЯ Факультеты. Далее вы говорите, что
Группа
расширяет Факультет. Что тоже нелогично, ибо каждый факультет ВКЛЮЧАЕТ в себя группы.
Дальше вы говорите, что
Студент
расширяет класс Группы. Тоже ведь, нелогично, так как каждая группа содержит в себе некоторое количество студентов.
Более корректным будет следующая реализация:
public class University {
private List<Faculty> faculties;
}
public class Faculty{
private List<Group> groups;
}
public class Group{
private List<Student> students;
}
public class Student {}
Притом вместо List можно использовать Set, так как каждый факультет уникален, также как и группа и студенты.