जेशेल एक कमांड-लाइन टूल . है जावा 9 . में पेश किया गया , और यह जावा का पहला आधिकारिक REPL . है एक सरल प्रोग्रामिंग वातावरण बनाने के लिए उपकरण जो उपयोगकर्ता के इनपुट को पढ़ता है, उसका मूल्यांकन करता है और परिणाम को प्रिंट करता है।
घोषणाएं एक वर्ग के बाहर या इंटरफ़ेस (और कक्षाओं और इंटरफेस की घोषणा स्वयं) निम्नलिखित नियमों के तहत बनाई गई है।
बाहरी घोषणाओं के नियम:
1) एक्सेस संशोधक जैसे सार्वजनिक, संरक्षित , और निजी नजरअंदाज किया जा सकता है। सभी घोषणा स्निपेट अन्य सभी स्निपेट तक पहुंच योग्य हो सकते हैं।
jshell> private int i = 10; i ==> 10 jshell> System.out.println(i); 10
2) संशोधक अंतिम नजरअंदाज किया जा सकता है। परिवर्तन और विरासत की अनुमति है।
jshell> final class A {void m() {} } | Warning: | Modifier 'final' not permitted in top-level declarations, ignored | final class A {void m() {} } | ^---^ | created class A
3) संशोधक स्थिर अनदेखा किया जा सकता है क्योंकि कोई कंटेनर वर्ग नहीं है।
jshell> static char letter = 'A; | Warning: | Modifier 'static' not permitted in top-level declarations, ignored | static char letter = 'A'; | ^----^ letter ==> 'A'
4) संशोधक का डिफ़ॉल्ट और सिंक्रनाइज़ अनुमति नहीं है।
jshell> synchronized void method() {} | Error: | Modifier 'synchronized' not permitted in top-level declarations | synchronized void method() {} | ^----------^
5) टी वह संशोधक सार केवल कक्षाओं में अनुमति है।
jshell> abstract void method(); | Error: | Modifier 'abstract' not permitted in top-level declarations | abstract void method(); | ^------^