«Студент» и «Лектор» - плохой пример наследования, потому что оно должно быть связано с конструкцией «IS A».Например:
class Phone { }
class IPhone extend Phone {}
IPhone
IS Phone
, которые точно соответствуют идее наследования.В вашем случае Student
НЕ является University
Так что я могу предложить создать еще один подкласс University
.Например, какой-то конкретный университет.Тогда было бы проще придумать абстрактные методы.
abstract class University {
abstract String getLocation(); // get location of concrete universtity
}
class MIT extends University {
@Override
public String getLocation() {
return "Cambridge, MA USA";
}
}
class Standford extends University {
@Override
public String getLocation() {
return "450 Serra Mall, Stanford, CA 94305, USA";
}
}
Вы также можете добавить любые методы, которые будут применяться к каждому вузу, например getRating()
, getDescription()
и т. Д.