08/09/2010

Questions pièges Java n°6a : réponse

Code :

class Base{
{ System.out.print ( "A"); };
Base( ) { System.out.print ("B"); }
}
class Derived extends Base{
{ System.out.print ("C"); };
Derived ( ) {
this ( 0 );
System.out.print ("D");
}
Derived ( int i ) {
System.out.print ("E");
}
{ System.out.print ("F"); };
}
public class AClass {
public static void main(String[ ] args){
Derived c = new Derived( );
}
}


Réponse
ABCFED

Explication
- Derived() appelle Derived(int)
- Derived(int) appelle Base()
- Base() appelle Object()
- Base() affiche A (les initialiseurs d'instance avant le corps du constructeur)
- Base() affiche B
- Derived(int) affiche C
- Derived(int) affiche F
- Derived(int) affiche E
- Derived() affiche D


Point théorique associé
ici

Les commentaires sont fermés.