Il se peut qu'en général, il ne soit pas recommandé d'explorer et d'utiliser des objets appartenant à d'autres objets. Il est vu comme quelqu'un qui cherche votre poche pour sortir votre argent de votre porte-monnaie au lieu de vous demander de lui prêter de l'argent.
Il pourrait y avoir un léger avantage à ce qui serait de pouvoir changer le flux de sortie si nécessaire pour un fichier, une socket ou autre.Alors, il serait en mesure de remplacer:
PrintStream out = System.out;
avec
PrintStream out = new PrintStream(new FileOutputStream(filename));
Cependant, s'il est à plusieurs reprises déclare encore et encore, il perd vraiment l'avantage ci-dessus, parce que le point de l'ensemble serait d'avoir quelque part centralisé et décider où sortir les journaux en un seul endroit. Notez que c'est une manière très grossière et que la pratique standard est d'utiliser la journalisation. Java a son propre paquet java.util.logging sorti de la boîte, log4j est une autre alternative très puissante (et très populaire) et il y en a d'autres.
Il aurait tout aussi bien pu ajouter une déclaration 'import static java.lang.System.out;' en haut du fichier. – ILMTitan
@ILMTitan est une solution encore plus ordonnée, mais bien sûr ne fonctionnera qu'avec java 5 et plus. – Alb
@Alb Java 5 a déjà terminé sa période de fin de vie. –