Qu'est-scanner.close() faire?

Dire que j'ai l'exemple de code suivant:

Scanner scan1 = new Scanner(System.in);    //declaring new Scanner called scan1
int x = scan1.nextInt();    //scan for user input and set it to x
System.out.println(x);    //print the value of x
scan1.close();    //closes the scanner (I don't know exactly what this does)
Scanner scan2 = new Scanner(System.in); //declaring new Scanner called scan1
int y = scan2.nextInt();    //scan for user input and set it to y
System.out.println(y);    //print the value of y

J'ai lu le La documentation d'Oracle sur le Scanner de la classe et suis tombé sur ceci:

Lorsqu'un Scanner est fermé, il va fermer son de la source d'entrée si la source met en œuvre la Fermer l'interface.

Est-ce à dire qu'une fois qu'un Scanner (de System.in) est fermé, je ne veux plus être en mesure d'utiliser System.in tout au long de l'ensemble du programme Java? Ou signifie-t-il je ne veux plus être en mesure de l'utiliser tout au long de la classe? Ou seulement la méthode? Ou seulement son champ d'application?

J'ai une autre question est, est un Scanner limitée à la portée qu'elle a été déclarée à l' (similaire aux types de données primitifs)?

InformationsquelleAutor Kootling | 2014-10-07