J'ai une classe de base abstraite que de nombreuses classes étendent. Je souhaite que toutes ces classes définissent une valeur unique pour une propriété spécifique définie à l'origine dans la classe de base (similaire à la propriété serialVersionUID
qui provoque un avertissement lorsqu'elle n'est pas définie dans les classes qui héritent de Serializable
).Java: puis-je avoir besoin d'une classe enfant pour définir une valeur de propriété?
Existe-t-il un moyen pour moi, au sein de ma classe de base abstraite, de déclarer une propriété qui n'a pas de valeur, mais exige que toutes les classes étendues en définissent une valeur?
Notez que la valeur n'a pas à être associée à chaque instance individuelle, c'est-à-dire qu'elle peut être définie comme static
.
Edit: je suppose une question plus fondamentale que je devrais aussi demander, puisque les réponses varient si largement, est comment Java mettre en œuvre serialVersionUID
(en termes de signature) de telle sorte que mon IDE soulève des avertissements quand il est pas défini?
'serialVersionUID' est juste un champ ordinaire que le mécanisme de sérialisation arrive à trouver (via l'introspection). Sa présence n'est pas imposée par le langage Java, ce qui explique pourquoi votre IDE émet un avertissement à ce sujet; Si la valeur était vraiment requise, ce serait une erreur obligatoire en cas d'absence. –