जेशेल एक कमांड-लाइन . है उपकरण जो हमें जावा स्टेटमेंट (सरल स्टेटमेंट, कंपाउंड स्टेटमेंट, या यहां तक कि पूर्ण तरीके और क्लास) दर्ज करने की अनुमति देता है, इसका मूल्यांकन करता है और परिणाम प्रिंट करता है।
>आगे बढ़ें संदर्भ वे कमांड हैं जो विधियों . को संदर्भित करते हैं , चर , या कक्षाएं जो किसी भी कोड में मौजूद नहीं है जिसे हमने JShell में टाइप किया है। जैसे ही कोड दर्ज किया गया और JShell में क्रमिक रूप से मूल्यांकन किया गया, ये आगे संदर्भ अस्थायी रूप से अनसुलझे हैं। JShell विधि . में आगे के संदर्भों का समर्थन करता है निकाय , वापसी प्रकार , पैरामीटर प्रकार , चर प्रकार , और भीतर एक वर्ग ।
नीचे दिए गए कोड स्निपेट में, एक विधि बनाई forwardReference() जेशेल में। चर घोषित होने तक इस विधि को लागू नहीं किया जा सकता है। यदि हम इस विधि को कॉल करने का प्रयास कर रहे हैं, तो यह एक चेतावनी संदेश देता है:" "
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> void forwardReference() { ...> System.out.println(notYetDeclared); ...> } | created method forwardReference(), however, it cannot be invoked until variable notYetDeclared is declared jshell> forwardReference() | attempted to call method forwardReference() which cannot be invoked until variable notYetDeclared is declared
नीचे दिए गए कोड स्निपेट में, हमने "notYetDeclared घोषित किया है। " वेरिएबल जो एक स्ट्रिंग लौटाता है। अंत में, अगर हम forwardReference() JShell में, फिर यह "वेरिएबल डिक्लेयर्ड" . प्रिंट करता है ।
jshell> String notYetDeclared = "variable is declared" notYetDeclared ==> "variable is declared" jshell> forwardReference() variable is declared