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