Every body i have some doubt in java's SOP statement.
Actually in System class we are creating static out object of PrintStream class and in our program we are calling as System.out.print().
my doubt is that without doing these thing directly we can call PrintStream.print() method what is the need of doing these things in System class.
Even if you invoke PrintStream#print, you will still need to define where the output should go wont you? System.out does it for you.
From the API docs (emphasis added)
The "standard" output stream. This stream is already open and ready to accept output data. Typically this stream corresponds to display output or another output destination specified by the host environment or user.
PS. The Java API is well documented and quite descriptive. Also, in case you did not know, when you install the JDK, you also get the source code. Look for a file called src.zip under your JAVA_HOME (java installation directory). You can actually peek and the source code and see what is happening under the hood.