我有許多類擴展的抽象基類。我希望所有這些類爲基類中最初定義的特定屬性定義一個唯一值(類似於在從Serializable
繼承的類中未定義類時會導致警告的serialVersionUID
屬性)。Java:我可以要求子類來定義屬性值嗎?
在我的抽象基類中,我有沒有辦法聲明一個沒有值的屬性,但需要所有擴展類爲它定義一個值?
請注意,該值不必與每個單獨的實例相關聯,即:它可以定義爲static
。
編輯:我想一個更基本的問題,我也應該問,因爲答案相差如此廣泛,是怎樣的Java實現serialVersionUID
(在其簽名的條款),使得我的IDE提出警告,它沒有規定什麼時候?
'serialVersionUID'僅僅是序列化機制發生尋找(通過內省)一個普通的領域。它的存在不是由Java語言強制執行的,這正是爲什麼你的IDE發出警告的原因;如果這個值真的需要,那麼當缺席時這將是一個強制性錯誤。 – 2010-08-10 22:30:29