जेशेल जावा 9 में एक इंटरैक्टिव टूल है जो उपयोगकर्ता को इनपुट की अनुमति देता है, उसका मूल्यांकन करता है, और उपयोगकर्ता को आउटपुट प्रिंट करता है।
मान प्रकार के विपरीत, एक संदर्भ प्रकार इसका मूल्य सीधे संग्रहीत नहीं करता है। इसके बजाय, यह पता . संग्रहीत करेगा जहां एक मूल्य संग्रहीत किया जाता है। इसका मतलब है कि एक संदर्भ प्रकार इसमें किसी अन्य स्मृति स्थान का सूचक होता है जो डेटा रखता है। संदर्भ प्रकार हैं स्ट्रिंग, सरणियाँ, वर्ग, और प्रतिनिधियों ।
नीचे दिए गए कोड स्निपेट में, जब हम पशु . का एक नया उदाहरण बनाते हैं , इसे हीप मेमोरी . पर बनाया जा सकता है . नया जानवर () ढेर पर एक वस्तु बनाता है। पशु@73846619 , वस्तु ढेर पर 73846619 . पते पर संग्रहीत है ।
स्निपेट-1
jshell> class Animal { ...> } | created class Animal jshell> Animal dog = new Animal(); dog ==> Animal@73846619
मैं n नीचे दिए गए कोड स्निपेट में, दो नए पशु ऑब्जेक्ट ढेर पर बनाए जाते हैं। उनके स्मृति स्थान (संदर्भ) संदर्भ चर कुत्ते . में संग्रहीत हैं और बिल्ली . जावा में, सभी वर्ग संदर्भ प्रकार हैं . आदिम चर उदाहरणों को छोड़कर, सभी इंस्टेंस या ऑब्जेक्ट हीप पर संग्रहीत होते हैं। वस्तुओं के संदर्भ संदर्भ चर . में संगृहीत होते हैं जैसे कुत्ता और बिल्ली ।
स्निपेट-2
jshell> class Animal { ...> int id; ...> public Animal(int id) { ...> this.id = id; ...> } ...> } | created class Animal jshell> Animal dog = new Animal(10); dog ==> Animal@6adede5 jshell> Animal cat = new Animal(20); cat ==> Animal@5025a98f
मैं n नीचे दिए गए कोड स्निपेट, "j =I "I" के मान को "j" में कॉपी करता है। बाद में, जब "j" का मान बदल दिया जाता है, तो "I" प्रभावित नहीं होता है। आदिम चर का उपयोग करके, उनके मूल्यों की तुलना करता है।
स्निपेट-3
jshell> int i = 5; i ==> 5 jshell> int j; j ==> 0 jshell> j = i; j ==> 5 jshell> j = 10; j ==> 10 jshell> i; i ==> 5 jshell> i == j; $11 ==> false jshell> j = 5; j ==> 5 jshell> i == j; $13 ==> true