Как исключить классы из полиморфизма [JAVA] - PullRequest
0 голосов
/ 19 мая 2018

Мне нужно, чтобы Inteface был реализован различными классами для своих методов, но также и для того, чтобы использовать полиморфизм для этого супертипа.Все классы имеют одинаковые характеристики, и они должны быть потомками суперкласса или реализовывать один и тот же интерфейс.

Однако для одного из классов, реализующих Interface, нужны свои методы, но он не должен иметь тип Interface.

Есть ли способ исключить класс из полиморфизма без клонирования Interface и использовать его только для одного класса?


Это где-то интерфейс, который мне нужен, он реализует:

@FunctionalInterface
public interface Interface
{
    Rapport makeRapport(Collection<Student> studs);

    default RapportType getType() 
    {
        return this.getClass().getAnnotation(Type.class).value();
    }    

}
...