我正在開發一個SPI,並且希望定義一個Reportable
接口,以便任何實現都必須覆蓋toString()
以使其具有意義。Java:強制執行的設計接口覆蓋toString
有什麼辦法可以在Java中編寫一個接口,使其任何具體的實現必須覆蓋對象的toString()
?例如:
public interface Reportable
{
public String toString();
}
public class Widget implements Fizz, Buzz, Reportable
{
// ...
@Override
public String toString()
{
// ...
}
}
我知道上面的代碼不力這種行爲,但是是什麼我要找的,即一個例子,如果Widget
不會覆蓋toString()
你得到一個編譯錯誤是因爲它違反了接口合同。
對於抽象類:http://stackoverflow.com/questions/8719482/force-tostring-implementation-in-subclasses – 2015-03-02 12:54:43
的[強制類重寫.equals方法]可能重複(HTTP:/ /stackoverflow.com/questions/1612273/force-a-class-to-override-the-equals-method)。任何方法都應該是一樣的。 – 2015-03-02 12:55:43