Une bonne réponse pourrait etre :

Oui.

Des objects créés à partir d'autres objects !

Vous n'avez pas à mémoriser,ni à comprendre tout ceci dès maintenant. C'est assez complexe. En fait, c'est à ce point que la plupart des manuels utilise leur propre méthode simplifiée pour gérer es entrées-sorties. Si vous le voulez, vous pouvez vous représentez ce que l'on fait pour la saisie, comme une très longue ligne de commande qui signifie juste "lit au clavier". La déclaration complète de la variable est :

    BufferedReader stdin = 
        new BufferedReader ( new InputStreamReader( System.in ) );
Noter objet BufferedReader sera construit à partir d'un auter objet qui sera un objet InputStreamReader. L'expression suivante :
 new InputStreamReader( System.in ) 
crée un objet InputStreamReader, qui est connecté au flux d'entrée standard System.in .
Le diagramme nous montre plusieurs choses :
  • La variable stdin, qui contient un objet BufferedReader.
  • L'objet BufferedReader lui-meme qui contient un objet InputStreamReader.
  • Un objet InputStreamReader qui reçoit des caractères provenant du flux d'entrée standard.
  • Le flux d'entrée standard qui contient les caractères que l'utilisateur saisit au clavier.
L'objet InputStreamReader effectue un certain nombre d'opérations pour faciliter la saisie de caractères. Il passe le résultat de ses traitements à l'objet BufferedReader. L'objet BufferedReader effectue les traitements restants, rendant le travail de manipulation des données saisies encore plus facile !

QUESTION 9:

(Question piégée: ) Que pensez-vous de la signification de linstruction suivante de notre programme ?
    inData = stdin.readLine();
Surtout méfiez-vous des apparences !