2010-03-01 4 views
1

Il est en fait de SCJP 6 Studyguide Exam310-065 (MGH, 2008) alt text http://www.freeimagehosting.net/uploads/1f37466409.png alt text http://www.freeimagehosting.net/uploads/03aaff252a.png alt text http://www.freeimagehosting.net/uploads/b56385a448.png alt text http://www.freeimagehosting.net/uploads/83761fff86.pngSCJP - examen question

L'appel à super() dans Kinder constructeur de la classe semble être redondant à cause de:


Le question est, si les auteurs ont fait une erreur dans cette question ou est-ce que je manque quelque chose (plus probable)

+0

Est-ce vraiment le genre de question que demande le SCJP? Si c'est le cas, alors le SCJP est encore plus inutile que je ne l'imaginais. –

Répondre

2

Désolé, il me manque peut-être quelque chose (très probablement), mais il semble que c'est indiqué dans le texte:

a. La ligne ne peut pas être laissée vide, car les parenthèses sont déjà en place. C'est-à-dire qu'un constructeur peut être vide .. sauf que les parenthèses vides seraient une erreur de syntaxe (donc il ne serait pas compilé).

b. De plus, puisque le constructeur de superclasse appelé est la version sans argument, ce constructeur doit être créé.

Je pense que vous devrez peut-être relire le texte une fois de plus et tout devrait cliquer. Ou je suis vraiment hors de toute chose ... dans ce cas je m'excuse, il est un peu en retard ici. ;-)

+0

a) constructeur avec corps vide n'est pas une erreur de syntaxe. b) Je n'ai aucune objection à ce qu'un constructeur sans-argument soit créé, mon point était que super() -appel est redondant – kilonet

+0

@kilonet: vous avez raison dans les deux points, mais ils ne sont pas pertinents à la question. Comme le modèle contient déjà les parenthèses sans argument, vous devez y mettre * quelquechose * pour le rendre valide. C'est la seule raison de l'appel 'super()' no-args. C'est une sorte de question piège, à mon avis. –

Questions connexes