Java: interfaz de diseño para forzar implementaciones para anular toString

Estoy desarrollando un SPI y me gustaría definir unReportable interfaz tal que cualquier implementación debe anulartoString() a algo que es significativo.

¿Hay alguna forma en Java de escribir una interfaz tal que cualquiera de sus implementaciones concretasdebe anular objetostoString()? Por ejemplo:

<code>public interface Reportable
{
    public String toString();
}

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

    @Override
    public String toString()
    {
        // ...
    }
}
</code>

Sé que el código anterior no lo hacefuerza este tipo de comportamiento, pero es un ejemplo de lo que estoy buscando, es decir, siWidget no anulatoString() Obtienes un error de compilación porque está violando el contrato de interfaz.

Respuestas a la pregunta(2)

Su respuesta a la pregunta