La methode clone()
Résolu
securinets
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
securinets Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
securinets Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
class A{ //extends java.lang.Object
void method( A autreinstance ) {
A autre = autreinstance.clone();
// refusé par le compilateur . . .
pourquoi cette affectation est refusé par le compilateur?
merci d'avance.
class A{ //extends java.lang.Object
void method( A autreinstance ) {
A autre = autreinstance.clone();
// refusé par le compilateur . . .
pourquoi cette affectation est refusé par le compilateur?
merci d'avance.
A voir également:
- Clone java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Clone disque dur - Guide
- Clone cd - Télécharger - Gravure
- Hd clone - Télécharger - Sauvegarde
1 réponse
La méthode clone est définie dans Object, mais elle est protected, pas public.
Il faudrait que ta classe A implements Cloneable pour que l'utilisation de clone() soit valide.
Regarde sa documentation, il y a pas mal d'infos :
java.lang.Object.clone()
java.lang.Cloneable
Il faudrait que ta classe A implements Cloneable pour que l'utilisation de clone() soit valide.
Regarde sa documentation, il y a pas mal d'infos :
java.lang.Object.clone()
java.lang.Cloneable
Tout cela est d'ailleurs marqué dans la documentation que je t'ai indiqué hier :
"A class implements the Cloneable interface to indicate to the Object.clone() method that it is legal for that method to make a field-for-field copy of instances of that class.
Invoking Object's clone method on an instance that does not implement the Cloneable interface results in the exception CloneNotSupportedException being thrown.
By convention, classes that implement this interface should override Object.clone (which is protected) with a public method."