Как сделать список, который будет принимать только один тип данных?

По заданию нужно сделать список, принимающий только экземпляры класса Student. Как это сделать?

Подобного результата вы можете достичь, создав обобщённый список и закрыв его типом Student.

Обобщения (generics) позволяют нам создавать "универсальные" структуры данных, которые можно заполнить любым типом данных. Как только будет произведено "пополнение" структуры (в нашем случае - List) - она "закроется" этим типом, и далее будет возможно заполнять её ИСКЛЮЧИТЕЛЬНО экземплярами данного типа (в нашем случае - Student).