У меня есть интерфейс:
public interface Service {
default Type service1(Type t) throws IOException {
throw new UnsupportedOperationException();
}
default Type service2(Type t) throws IOException {
throw new UnsupportedOperationException();
}
}
и класс, реализующий этот интерфейс, но требуется только service2:
class MyService implements Service{
@Override
Type service2(Type t) throws IOException {
...
}
}
Затем я создаю экземпляр myservice:
Service s = new MyService();
s.service1(t); // throws error at runtime
Есть ли лучший способ скрыть или пометить этот метод service1 (), чтобы указать, что никто не должен использовать этот неподдерживаемый метод в коде (например, с помощью аннотации?).Или я должен создать другой шаблон для таких случаев?