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
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *