Java 9 एक इंटरैक्टिव आरईपीएल पेश किया (पढ़ें-मूल्यांकन करें-प्रिंट-लूप करें ) टूल:JShell , और यह हमें कोड स्निपेट निष्पादित करने और तत्काल परिणाम प्राप्त करने की अनुमति देता है। एक स्निपेट एक निर्देश है जो मानक जावा सिंटैक्स का उपयोग कर सकता है। यह एकल अभिव्यक्ति, कथन या घोषणा का प्रतिनिधित्व करता है।
नीचे कुछ नियम दिए गए हैं जिनका हमें JShell टूल का उपयोग करते समय पालन करने की आवश्यकता है।
JShell टूल के लिए नियम:
- एक स्निपेट इंपोर्ट डिक्लेरेशन, क्लास डिक्लेरेशन, मेथड डिक्लेरेशन, इंटरफेस डिक्लेरेशन, फील्ड डिक्लेरेशन, स्टेटमेंट और प्राइमरी एक्सप्रेशन जैसा होता है।
- पैकेज घोषणाओं की अनुमति नहीं है। JShell कोड क्षणिक . के अंतर्गत रखा गया है जेशेल पैकेज।
- पहुंच संशोधक:सार्वजनिक , संरक्षित , और निजी , और संशोधक:अंतिम और स्थिर शीर्ष-स्तर . में अनुमति नहीं है घोषणाएं यदि प्रदान किया जाता है तो उन्हें एक चेतावनी द्वारा अनदेखा कर दिया जाता है।
- संशोधक:डिफ़ॉल्ट और सिंक्रनाइज़ शीर्ष-स्तर . में बिल्कुल भी अनुमति न दें घोषणाएं हालांकि, यह नेस्टेड संदर्भ में अनुमति दे सकता है।
- एक सार संशोधक को केवल कक्षाओं में अनुमति दी जा सकती है।
- जब उपयोगकर्ता इनपुट अधूरा होता है (उदाहरण के लिए, हम केवल System.out टाइप करते हैं और println . छोड़ें part), JShell स्वतः पूर्णता API अधिक उपयोगकर्ता इनपुट के लिए संकेत देता है।
- यदि उपयोगकर्ता इनपुट पूर्ण है, लेकिन कोई अर्धविराम नहीं है , JShell इसे स्वचालित रूप से जोड़ सकता है।
नीचे दिए गए नमूना कोड स्निपेट में, हमने कर्मचारी . बनाया है आवश्यक गेटटर विधियों के साथ वर्ग और नया . का उपयोग करके इसे तत्काल करें ऑपरेटर।
स्निपेट
jshell> class Employee { ...> private String firstName; ...> private String lastName; ...> private String designation; ...> public Employee(String firstName, String lastName, String designation) { ...> this.firstName = firstName; ...> this.lastName = lastName; ...> this.designation = designation; ...> } ...> public String getFirstName() { ...> return firstName; ...> } ...> public String getLastName() { ...> return lastName; ...> } ...> public String getDesignation() { ...> return designation; ...> } ...> public String toString() { ...> return "Name = " + firstName + ", " + lastName + " | " + ...> "designation = " + designation; ...> } ...> } | created class Employee jshell> Employee emp = new Employee("Sai", "Adithya", "Content Developer"); emp ==> Name = Sai, Adithya | designation = Content Developer