Java Avancé

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
qcm-java-programmation-orientee-objet

Laisser un commentaire

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