7
votes

Quelle est l'utilisation de l'interface clothéraire en Java?

Quelle est l'utilisation de la mise en oeuvre d'une interface claquant car il s'agit d'une interface de marqueur?

Je peux toujours faire une méthode de clone d'objet public () dans ma classe. Quel est le but réel de l'interface clonable?


0 commentaires

5 Réponses :


7
votes

c'est parce que le clone () code> méthode jette clonenotsupportedexception code> si votre objet n'est pas clonable code>.

Vous devez jeter un oeil à la Documentation pour Clone () code> méthode. p>

suivi est comment clone () code> méthode est déclaré dans la classe objet code>: P >

protected Object clone() throws CloneNotSupportedException


0 commentaires

4
votes

faire clonable une interface de marqueur était une erreur.

Cela dit, la seule chose qu'elle est "active" la mise en œuvre par défaut de clone () dans objet . Si vous n'ayez pas implémenter clonable puis appelez super.clone () lancera un clonenotsupportedexception . .


2 commentaires

Pourriez-vous expliquer pourquoi c'était une erreur?


@MarkrotteveELL L'interface clonable doit avoir une méthode clone et la méthode de clone protégée dans l'objet ne doit pas nécessiter une "activation". L'interface en tant que supplication ne sert aucun objectif utile réel, tout en utilisant un bon nom et de la confusion.



2
votes

Certaines personnes disent que c'est une tentative d'imitation de Copy Constructor de C ++, mais voici la précédente question similaire sur Stackoverflow à ce sujet: À propos de Java Clonable


0 commentaires