Мне нужно, чтобы Inteface
был реализован различными классами для своих методов, но также и для того, чтобы использовать полиморфизм для этого супертипа.Все классы имеют одинаковые характеристики, и они должны быть потомками суперкласса или реализовывать один и тот же интерфейс.
Однако для одного из классов, реализующих Interface
, нужны свои методы, но он не должен иметь тип Interface
.
Есть ли способ исключить класс из полиморфизма без клонирования Interface
и использовать его только для одного класса?
Это где-то интерфейс, который мне нужен, он реализует:
@FunctionalInterface
public interface Interface
{
Rapport makeRapport(Collection<Student> studs);
default RapportType getType()
{
return this.getClass().getAnnotation(Type.class).value();
}
}