Interfejs projektowy Java: wymuszanie implementacji do nadpisywania w łańcuchu

Rozwijam SPI i chciałbym zdefiniowaćReportable interfejs taki, że wszelkie implementacje muszą zastąpićtoString() do czegoś, co ma znaczenie.

Czy w Javie jest jakikolwiek sposób na napisanie interfejsu tak, że którykolwiek z jego konkretnych implementacjimusi przesłonić obiektytoString()? Na przykład:

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

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

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

Wiem, że powyższy kod niesiła ten rodzaj zachowania, ale jest przykładem tego, czego szukam, tj. jeśliWidget nie zastępujetoString() pojawia się błąd kompilacji, ponieważ narusza on umowę dotyczącą interfejsu.

questionAnswers(2)

yourAnswerToTheQuestion