Hé les gars, je vais avoir un sacré problème avec un problème dans un ensemble de problèmes sur lequel je travaille - je pense avoir un bloc parce qu'il est écrit être délibérément déroutant. Voici le problème que je donné:Java - Prolonge le numéro
class A {
int x;
A(int a) {System.out.println(" class A");}
}
class B extends A {
int x;
B() {System.out.println(" class B");}
public static void main (String [] args) {
A a = new B();
}
}
Quand je compile, je reçois l'erreur suivante mis à la porte de la console:
cannot find symbol
symbol : constructor A()
location: class A
B() {System.out.println(" class B");}
^
et je suis censé être en mesure de corriger cette erreur en classe B sans toucher à la classe A. Il me manque clairement quelque chose de stupidement évident, mais j'ai essayé des permutations de tout ce à quoi je peux penser pendant une heure et rien ne fonctionne.
Jusqu'à présent, j'ai essayé:
- jetant un vide devant B() - même erreur.
- en faisant B() dans A (int a) - ce dernier revient avec une erreur de déclaration de méthode invalide (l'ajout d'un vide en face de moi renvoie l'erreur "can not find symbol")
- () B (int a) - même erreur, plus jette une erreur supplémentaire "ne peut pas trouver le symbole" depuis que j'ai maintenant saccagé la déclaration B().
- faire de la classe B étend A dans la classe B étend A (int A) - lance neuf erreurs. Clairement pas la réponse. Changer le nom de classe de A à Apple juste pour voir si cela me donnerait une réponse - cela veut que j'ajoute un vide devant A (int a) dans la classe Apple, ce que je ne peux pas faire.
Que diable est-ce que je manque ici? Ce n'est pas un cours avancé, donc ça ne peut pas être terriblement compliqué, mais ça me rend complètement fou. Toute aide serait grandement appréciée.
vous me battre de 45 secondes :) –
Ah - Je me souviens que j'ai essayé de le faire comme super (a) et il a jeté une erreur, probablement parce que je ne définissais pas vraiment. Je vous remercie! – BigE
@BigE: Veuillez cocher cette réponse en cliquant sur la case à cocher située à gauche. Merci. – Asaph