Java: interface de design para forçar implementações a substituir toString
Estou desenvolvendo um SPI e gostaria de definir umReportable
interface tal que qualquer implementação deve substituirtoString()
para algo que é significativo.
Existe alguma maneira em Java para escrever uma interface de tal forma que qualquer uma das suas implementações concretasdevo substituir ObjetotoString()
? Por exemplo:
public interface Reportable
{
public String toString();
}
public class Widget implements Fizz, Buzz, Reportable
{
// ...
@Override
public String toString()
{
// ...
}
}
Eu sei que o código acima nãoforça esse tipo de comportamento, mas é um exemplo do que estou procurando, ou seja, seWidget
não substituitoString()
você recebe um erro de compilação porque está violando o contrato da interface.