A Person
всегда является Entity
, EntityNamable
и EntityNameableSelectable
верно?
A Person
расширяет Entity
и реализует EntityNameableSelectable
, ноон не реализует EntityNameable
, нет.
Я не знаю точно, что вы пытаетесь сделать, но я подозреваю, что <T extends EntityNameable>
не делает то, что вы хотите, чтобы он делал.Попробуйте вместо этого EntityNameableSelectable
extension EntityNameable
:
interface EntityNameableSelectable extends EntityNameable {
default String selectMe() {
return getSomething();
}
}
Аналогично, использование EntityNameable
с универсальным параметром T
также может быть неправильным.В вашем примере кода T
ничего не делает, поэтому вы можете просто удалить его.
interface EntityNameable {
default String getSomething() {
return "";
}
}