[Language]Construcuteur en appelant un autre
Bonjour à tous,
Une question m'assaille, pourquoi lorsque l'on fait appel à la surcharge des constructeur, on ne peut qu'appeler un autre constructeur à la première ligne. Je m'explique :
Ce code fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public class Toto{
private int a;
public Toto(int a){
this.a = a;
}
public Toto(){
this(0);
}
} |
Mais pourquoi celui là ne fonctionne pas (le deuxième constructeur n'appelle pas le premier sur sa première ligne) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public class Toto{
private int a;
public Toto(int a){
this.a = a;
}
public Toto(){
int b = 2;
this(b);
}
} |
L'erreur : "Constructor call must be the first statement in a constructor " est généré, n'empèche que j'aimerais bien savoir....