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.
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