Appel à super doit être la première déclaration dans le constructeur, mais il est
Je reçois un message d'erreur disant que "l'appel à super doit être la première instruction du constructeur".
Le problème est qu'il est la première instruction dans mon constructeur.
public void CheckingAccountCustomer(int a){
super(n, p, b);
accountNo = a;
}
Et voici mon super-classe.
public void customer(String n, int p, double b){
name = n;
pin = p;
balance = b;
}
Ce que je fais mal?
source d'informationauteur Phil Meyer
Vous devez vous connecter pour publier un commentaire.
Ce code
n'est pas un constructeur. Les constructeurs n'ont pas de type de retour, par exemple
void
. En supposant que le nom de la classe estcustomer
:Cela s'applique à
CheckingAccountCustomer
trop.Ce n'est pas un constructeur car elle précise qu'elle a un
void
type de retour. C'est juste une méthode de même nom que la classe. Se débarrasser du type de retour.C'est une méthode qui n'est pas un constructeur, car il a un type de retour.
La constructeur est utilisé pour créer un instance de cette Classede sorte qu'il n'ont pas de sens si elle permettra à l'utilisateur de changer le type de retour (il peut être dangereux de trop). C'est pourquoi les constructeurs a pas type de retour.
Comme d'autres l'ont déjà répondu, retirez le type de retour et il va devenir un constructeur.
Constructeurs ne jamais revenir à quelque chose (soit nulle ou type d'Objet).
n'est donc pas un constructeur.