我正在开发一个 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()
你会得到一个编译错误,因为它违反了接口合同。