जेशेल main() की आवश्यकता के बिना जावा और जावा एपीआई को त्वरित रूप से प्रोटोटाइप, डिबगिंग और सीखने के लिए एक इंटरैक्टिव शेल प्रदान कर सकता है विधि या इसे निष्पादित करने से पहले हमारे कोड को संकलित करने की आवश्यकता है।
कक्षा की घोषणा:
हम एक वर्ग घोषित कर सकते हैं जैसे हमने जावा भाषा में एक कोड लिखा है। JShell यह पता लगा सकता है कि कक्षा कब इसे पूरा करती है।
नीचे दिए गए कोड स्निपेट में, हम एक वर्ग कर्मचारी घोषित कर सकते हैं दो पैरामीटर और एक विधि के साथ।
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> class Employee { ...> String empName; ...> int age; ...> ...> public void empData() { ...> System.out.println("Employee Name is: " + empName); ...> } ...> } | created class Employee
नीचे दिए गए कोड स्निपेट में, हम कर्मचारी . के लिए एक ऑब्जेक्ट बना सकते हैं वर्ग और मान को empName, आयु पर सेट करें।
jshell> Employee emp = new Employee() emp ==> Employee@73846619 jshell> emp.empName = "Adithya" $3 ==> "Adithya" jshell> emp.age = 20 $4 ==> 20 jshell> emp.empData() Employee Name is: Adithya
इंटरफ़ेस की घोषणा:
हम एक इंटरफ़ेस . भी घोषित कर सकते हैं एक वर्ग घोषणा के समान। एक बार जब हम एक इंटरफ़ेस घोषित कर देते हैं, तो JShell यह पता लगा लेता है कि घोषणा कब पूरी होती है।
नीचे दिए गए कोड स्निपेट में, हम एक इंटरफ़ेस घोषित कर सकते हैं पशु तीन सार विधियों के साथ।
jshell> interface Animal { ...> public void eat(); ...> public void move(); ...> public void sleep(); ...> } | created interface Animal
नीचे दिए गए कोड स्निपेट में, हमें यह कहते हुए एक त्रुटि मिली कि कैट क्लास एनिमल इंटरफ़ेस द्वारा परिभाषित अमूर्त विधियों को ओवरराइड नहीं करता है। यह एक वर्ग के समान है जो जावा भाषा में एक इंटरफ़ेस अवधारणा को लागू करता है।
jshell> class Cat implements Animal { ...> } | Error: | Cat is not abstract and does not override abstract method sleep() in Animal | class Cat implements Animal { | ^----------------------------