Java: дизайн интерфейса, чтобы заставить реализации переопределять toString

Я разрабатываю SPI и хотел бы определить интерфейс Reportable, чтобы любые реализации должны были переопределять toString()к чему-то значимому.

Есть ли в Java какой-либо способ написать интерфейс таким образом, что любая из его конкретных реализаций должнапереопределять метод Object toString()? Например:

public interface Reportable
{
    public String toString();
}

public class Widget implements Fizz, Buzz, Reportable
{
    // ...

    @Override
    public String toString()
    {
        // ...
    }
}

Я знаю, что приведенный выше код не вызываеттакое поведение, но является примером того, что я ищу, т.е. если Виджетне переопределить toString()вы получите ошибку компиляции, потому что это нарушает контракт интерфейса.

14
задан Ciro Santilli 新疆改造中心法轮功六四事件 2 March 2015 в 12:54
поделиться