Для этого вам понадобятся "бобы" = закрытые переменные-члены с геттерами и сеттерами для каждого. В зависимости от ваших потребностей вы можете создать конструктор, который имеет определенные параметры, которые должны быть установлены в объекте при создании экземпляра, но также и через установщики не напрямую (так как определенные установщики могут работать с установленным значением определенным образом, поэтому лучше не делать этого). напутать прямо с такими вещами, как this.student = "name").
В случае факультета я не понимаю, почему он расширяет человека, и я не думаю, что он должен. Поскольку вы говорите, что это модели, они должны отражать структуры таблиц в базе данных, поэтому в большинстве случаев каждая из них расширяет абстрактный класс или реализует определенный интерфейс, но не друг друга.
Для агрегации людей также я считаю, что Контакт и Адрес должны быть Целыми числами, поскольку они представляют Внешний Ключ в другой таблице и думают о случае отношения «многие ко многим».
Модели - это, прежде всего, отражение базы данных в приложении.