我开发一个SPI和希望定义一个Reportable
界面,使得任何实现必须重写toString()
的东西,是有意义的。
有没有在Java中的任何方式来写的接口,使得它的任何具体的实现, 必须覆盖对象的toString()
? 例如:
public interface Reportable
{
public String toString();
}
public class Widget implements Fizz, Buzz, Reportable
{
// ...
@Override
public String toString()
{
// ...
}
}
我知道上面的代码不会强迫这种行为,但是是什么我要找的,也就是说,如果一个例子Widget
没有覆盖toString()
你会得到一个编译错误,因为它违反了接口契约。