2012-08-17 14 views
35

संभव डुप्लिकेट:
What's the meaning of System.out.println in Java?क्या जावा में System.out.println में प्रणाली, बाहर, println() है

मैं के जवाब के लिए देख रहा था क्या System, out और println जावा में System.out.println() में हैं। मैं खोज की है और इस तरह के एक अलग जवाब मिला:

  • सिस्टम है एक अंतर्निहित java.lang पैकेज में मौजूद वर्ग। इस वर्ग में एक अंतिम संशोधक है, जिसका अर्थ है कि, इसे अन्य वर्गों द्वारा विरासत में नहीं लिया जा सकता है। यह पूर्व निर्धारित तरीके और क्षेत्रों, जो मानक इनपुट, आउटपुट, आदि जैसे सुविधाएं प्रदान करता है शामिल हैं

  • बाहर एक स्थिर अंतिम क्षेत्र (यानी, चर) सिस्टम कक्षा में प्रकार PrintStream की है जो है (एक अंतर्निर्मित कक्षा में, विभिन्न डेटा मान मुद्रित करने के तरीके शामिल हैं)। कक्षा के नाम का उपयोग करके स्थैतिक फ़ील्ड और विधियों का उपयोग किया जाना चाहिए, इसलिए (System.out)।

  • यहाँ से बाहर प्रकार PrintStream वर्ग के संदर्भ चर को दर्शाता है।

  • println() PrintStream कक्षा में एक सार्वजनिक विधि डेटा मान मुद्रित करने के लिए है। इसलिए PrintStream कक्षा में एक विधि का उपयोग करने के लिए, हम (केवल refrence varialble का उपयोग करके पहुँचा जा सकता है गैर स्थिर तरीकों और क्षेत्रों के रूप में)

एक और पेज मैं एक और विषम लगता है में out.println() का उपयोग परिभाषा

System.out.print जावा में उपयोग किया जाने वाला एक मानक आउटपुट फ़ंक्शन है। जहां सिस्टम पैकेज नाम निर्दिष्ट करता है, बाहर वर्ग नाम निर्दिष्ट करता है और प्रिंट उस वर्ग में एक फ़ंक्शन है।

मैं इनसे उलझन में हूं। क्या कोई कृपया मुझे बता सकता है कि वे क्या हैं?

+1

http://stackoverflow.com/q/3406703/396730 और http://stackoverflow.com/q/10004856/396730 –

+0

मुझे लगता है कि पहला स्पष्टीकरण कुछ हद तक स्पष्ट है, और आप हमेशा स्रोत को ब्राउज़ कर सकते हैं अपने लिए, उदाहरण के लिए 'सार्वजनिक अंतिम स्थैतिक प्रिंटस्ट्रीम आउट = nullPrintStream(); ' – Less

+8

दूसरा स्पष्टीकरण केवल सादा गलत है। –

उत्तर

7

पहले उत्तर आप पोस्ट (सिस्टम है एक अंतर्निहित वर्ग ...) है पर सुंदर जगह।

आप जोड़ सकते हैं कि System वर्ग बड़े हिस्से जो मूल निवासी हैं होता है और कि ऊपर (कंसोल) "बाहर मानक" के साथ जुड़े देशी उत्पादन धारा को System.out printstream जोड़ने की तरह, स्टार्टअप के दौरान JVM द्वारा निर्धारित है।

11

जब भी आप उलझन में हैं, तो मैं आपके स्पष्टीकरण के लिए पहली जगह के रूप में Javadoc से परामर्श करने का सुझाव दूंगा।

जावाडोक के बारे में System से, यहाँ क्या दस्तावेज़ कहते है:

public final class System 
extends Object 

The System class contains several useful class fields and methods. It cannot be instantiated. 
Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array. 

Since: 
JDK1.0 

के बारे में System.out

public static final PrintStream out 
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. 
For simple stand-alone Java applications, a typical way to write a line of output data is: 

    System.out.println(data) 
+1

जवाडोक से परामर्श ठीक है जब आप समझते हैं कि वे क्या कहते हैं। लेकिन अगर आप नहीं करते? उदाहरण के लिए एक नौसिखिया मानक आउटपुट की अवधारणाओं को समझ नहीं सकता है, और त्रुटि आउटपुट स्ट्रीम और यह कि स्ट्रीम पहले से ही खुला है और आउटपुट डेटा स्वीकार करने के लिए तैयार है। बेशक नौसिखिया इस अवधारणाओं के लिए Google हो सकता है, लेकिन वह अक्सर नई अवधारणाओं की ओर जाता है, वह विज्ञापन infinitum समझ में नहीं आता है। मैं नहीं कह रहा हूं कि जावाडॉक्स के साथ कुछ भी गलत है। मैं सिर्फ एक नौसिखिया की कठिनाइयों को इंगित कर रहा हूं। यही कारण है कि वह अक्सर ऐसी भाषा में स्पष्टीकरण प्राप्त करने के लिए एसओ में जाता है जिसे वह अंडरएंड कर सकता है। –

+0

@ बॉबयूलैंड: जब आप कुछ समझ नहीं पाते हैं, तो आईएमओ, लोगों के एक ही चीज़ की व्याख्या को देखने के बजाय, इसके दस्तावेज़ीकरण को देखने का सबसे अच्छा तरीका है। जब लोग आधिकारिक दस्तावेजों को अपने शब्दों में समझते हैं, तो कभी-कभी खुद भ्रम का स्रोत बन सकता है। मेरा मतलब है कि एक ही चीज़ को अपने शब्दों में समझाने के कई तरीके हैं और यदि बहुत सारे उत्तर हैं, तो खुद को भ्रमित करने की संभावना बहुत अधिक है। – Sujay

+0

मैं आपसे सहमत हूं, लेकिन नए लोग जो दस्तावेज़ नहीं समझते हैं उन्हें इस तरह कुछ चाहिए: "System.out.println() को देखें। पहला व्यक्ति पूंजी पत्र से शुरू होता है, इसलिए यह एक वर्ग है। तीसरे में() तो यह एक तरीका है। दूसरा एक लोअरकेस अक्षर से शुरू होता है और इसमें कोई() नहीं है, इसलिए यह एक क्षेत्र है। आप कुछ प्रिंट करना चाहते हैं, लेकिन उस व्यक्ति को ढूंढना चाहिए जो आपके लिए नौकरी कर सकता है। आप उस लड़के को नहीं जानते आप सिस्टम को जानते हैं, जिसने एक फ़ील्ड बुलाया है, जो उस व्यक्ति को इंगित करता है। तो आप उस सिस्टम को जानते हैं। लड़के को पोट्स, और आप जानते हैं कि इस लड़के के पास println() विधि है। –

102

Systemjava.lang पैकेज से अंतिम श्रेणी है।

outPrintStream का एक वर्ग चर System वर्ग में घोषित किया गया है।

printlnPrintStream कक्षा का एक तरीका है।

+11

यह सही जवाब होना चाहिए – OMGPOP

संबंधित मुद्दे