Constructeur de copie en Java
Comme C++, Java prend également en charge le constructeur de copie. Mais, contrairement à C++, Java ne crée pas de constructeur de copie par défaut si vous n’écrivez pas le vôtre.
Voici un exemple de programme Java qui montre comment créer un constructeur de copie.
[wx_adsense]
class Person {
private String name;
private int age;
// Constructeur paramétré
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Constructeur de copie
Person(Person p) {
name = p.name;
age = p.age;
}
// Surcharger la méthode toString
@Override
public String toString() {
return name + ", " + age + " ans";
}
}
public class Test {
public static void main(String[] args) {
Person p1 = new Person("Alex", 25);
// Appeler le constructeur de copie
Person p2 = new Person(p1);
/* Notez que la ligne suivante n'implique pas un appel de
constructeur de copie comme les variables non primitives
ne sont que des références. */
Person p3 = p2;
// la méthode toString() est appelé ici
System.out.println(p2);
}
}
Sortie:
Alex, 25 ans[wx_amazon]

