Fonction clone() de java
Résolu/Fermé
xman_genius
Messages postés
97
Date d'inscription
vendredi 14 octobre 2005
Statut
Membre
Dernière intervention
21 novembre 2006
-
3 mars 2006 à 12:33
moi - 2 avril 2011 à 20:04
moi - 2 avril 2011 à 20:04
A voir également:
- Fonction clone() de java
- Waptrick java football - Télécharger - Jeux vidéo
- Fonction si et - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
- Clone disque dur - Guide
- Waptrick jeux java itel ✓ - Forum Mobile
2 réponses
pour pouvoir utiliser la methode clone() il faut que ta classe implemente l'interface cloneable du package java.lang, et il n'est pas necessaire d'importer explicitement le package java.lang, c fait automatiquement par le compilateur. avant de te donner une solution, je tiens à te dire que ton programme est mal structuré : ta définie une classe (classe Personnel) à l'interieur d'une methode (main). Donc une bonne version de ton programme serai :
class Personne implements Cloneable{ // implementation de l'interface Cloneable
private String nom;
private String prenom;
private int age;
//Constructeur pour initialiser les champs prives nom et prenom
public Personne(String unNom, String unPrenom){
nom = unNom;
prenom = unPrenom;
}
// un autre constructeur qui accepte aussi l'age
public Personne(String unNom, String unPrenom, int unAge){
nom = unNom;
prenom = unPrenom;
age = unAge;
}
// la methode clone peut generer une exception CloneNotSupportedException
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
public static void main(String[] atgs){
Personne myFriend = new Personne("MyFriend","TheExpert");
Personne myFriendClone = null;
try{
myFriendClone = (Personne) myFriend.clone(); // il faut réaliser un caste car la methode clone renvoie un Object.
}catch(Exception e) {
System.out.println("Erreur");
}
System.out.println(myFriend.nom + " " + myFriend.prenom);
System.out.println(myFriendClone.nom + " " + myFriendClone.prenom);
}
}
et voila c fini.
By TheExpert
class Personne implements Cloneable{ // implementation de l'interface Cloneable
private String nom;
private String prenom;
private int age;
//Constructeur pour initialiser les champs prives nom et prenom
public Personne(String unNom, String unPrenom){
nom = unNom;
prenom = unPrenom;
}
// un autre constructeur qui accepte aussi l'age
public Personne(String unNom, String unPrenom, int unAge){
nom = unNom;
prenom = unPrenom;
age = unAge;
}
// la methode clone peut generer une exception CloneNotSupportedException
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
public static void main(String[] atgs){
Personne myFriend = new Personne("MyFriend","TheExpert");
Personne myFriendClone = null;
try{
myFriendClone = (Personne) myFriend.clone(); // il faut réaliser un caste car la methode clone renvoie un Object.
}catch(Exception e) {
System.out.println("Erreur");
}
System.out.println(myFriend.nom + " " + myFriend.prenom);
System.out.println(myFriendClone.nom + " " + myFriendClone.prenom);
}
}
et voila c fini.
By TheExpert
anawak
Messages postés
53
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
1 août 2010
9
4 mars 2006 à 11:16
4 mars 2006 à 11:16
ben tu t'es un epu gouré.
clone() est une methode de la cloneable ,alors si tu veux utiliser close() procede comme suit:
public YourClass extends cloneable {
//declaration
//construteur
public YourClass getOtherInstance(){
clone() est une methode de la cloneable ,alors si tu veux utiliser close() procede comme suit:
public YourClass extends cloneable {
//declaration
//construteur
public YourClass getOtherInstance(){
2 avril 2011 à 20:04