.System class contains a public static final PrintStream object called out which belongs to another seperate package java.io.
That's why the System class needs to import PrintStream. A class needs to import the classes that are used in its source code, but not the classes of which it merely uses objects. The compiler can figure out what class "out" belongs to by looking it up in the System class.
I was searching for the clue using javap utility.But it lists out only the methods and instance variables present in a class it won't display any import statements.I think I must use jad(Java Decompiler )to know the implementation of a class.
subject: for System.out.println() why we don't we import java.io.* package