You can also use System.setOut() to replace the System.out PrintStream object with something else, like a wrapper with the additional logic that it should print "5" when you give "4" as an input. Or a wrapper that always prints "Give it up Johnny!" to discourage your coworker John from using System.out instead of the logger class that the rest of the team is using.