non car la délégation à un autre constructeur ne peut se faire que dans la première instruction du constructeur.
Tu peux par contre très bien déplacer ton code de copie dans une méthode privée que t'appelle depuis tous les constructeur qui en ont besoin.
Enfin, dans ton cas précis:
Code:
1 2 3 4 5 6 7 8
|
public class Voiture {
public Voiture(Object o){if (o instanceof Voiture) init((Voiture)o);}
public Voiture(Voiture v){init(v);}
}
.....
Voiture v = new Voiture("ma voiture");
Voiture v2 = new Voiture(v); |
Ce sera direct le deuxième constructeur qui sera appelé pour construire v2, donc pas besoin de chipoter avec le instanceof, java comme tous les language objet, fait appel aux bonne méthodes suivant le type déclaré des paramettre (j'ai bien dit déclaré, pas effectif)