Я разрабатываю SPI и хотел бы определить интерфейс Reportable
, чтобы любые реализации должны были переопределять toString()
к чему-то значимому.
Есть ли в Java какой-либо способ написать интерфейс таким образом, что любая из его конкретных реализаций должнапереопределять метод Object toString()
? Например:
public interface Reportable
{
public String toString();
}
public class Widget implements Fizz, Buzz, Reportable
{
// ...
@Override
public String toString()
{
// ...
}
}
Я знаю, что приведенный выше код не вызываеттакое поведение, но является примером того, что я ищу, т.е. если Виджет
не переопределить toString()
вы получите ошибку компиляции, потому что это нарушает контракт интерфейса.