我有一個接口BaseModel
錯誤繼承
public interface BaseModel
{
String toString();
}
和抽象類BaseData
public abstract class BaseData
{
public abstract String toString();
}
我希望我的模型類重寫toString()
方法。爲此,我嘗試了以下方法,一次一個,卻不能在一起:
讓我所有的模型類實現
interface BaseModel
讓我所有的模型類實現
abstract class BaseData
在第一種情況下,如果我不覆蓋模型類中的toString()
方法,則不會收到編譯錯誤。我想這是考慮Object.toString()
方法作爲有效的實現。
但在我的第二種情況下,如果我不重寫toString()
方法,我得到一個編譯錯誤:
The type
Title
must implement the inherited abstract methodBaseData.toString()
其中Title
是延伸BaseData
但不會覆蓋toString()
我的模型類之一。
爲什麼有差異?
在此先感謝。
這是一個很棒的答案!非常感謝!而且,真棒格式! –