2017-10-20 24 views
2

J'apprends Java et il y a quelque chose que je n'ai pas compris. Si je comprends bien, en implémentant une interface je suis obligé d'implémenter toutes les méthodes que l'interface a. Mais, dans le cas de Clonable? Si je l'implémente, je ne suis pas obligé d'implémenter la méthode clone. Pourquoi cela arrive-t-il?Implémentation de l'interface Clonable, mais sans avoir à surcharger la méthode clone()

+0

Je ne pense pas qu'il y ait quelqu'un qui comprenne vraiment pourquoi il a été conçu comme ça. –

Répondre

4

Clonable est une interface de marqueur, qui vous permet de savoir que l'objet peut être cloné. Vous n'êtes pas obligé d'implémenter la méthode clone, car cette méthode existe déjà dans votre classe avec le modificateur d'accès protected (hérité de Object :: clone).

+0

En disant "interface de marqueur", vous voulez dire que l'interface Clonable est vide? –

+2

oui, si vous regardez à l'intérieur de cette interface, il n'y a pas de méthodes. – degr

0

Parce que l'interface clonable n'a pas une telle méthode.