JShell สามารถจัดเตรียมเชลล์แบบโต้ตอบสำหรับการสร้างต้นแบบ การดีบัก และการเรียนรู้ Java และ Java API ได้อย่างรวดเร็วโดยไม่ต้องใช้ main() เมธอดหรือจำเป็นต้องคอมไพล์โค้ดของเราก่อนดำเนินการ
การประกาศคลาส:
เราสามารถประกาศคลาสได้เหมือนกับที่เราได้เขียนโค้ดในภาษา Java 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
ในโค้ดด้านล่าง เราสามารถสร้างออบเจ็กต์สำหรับ พนักงาน class และตั้งค่าเป็น empName, age.
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 จะตรวจพบเมื่อการประกาศเสร็จสิ้น
ในโค้ดด้านล่าง เราสามารถประกาศอินเทอร์เฟซ สัตว์ ด้วยวิธีการเชิงนามธรรม 3 วิธี
jshell> interface Animal { ...> public void eat(); ...> public void move(); ...> public void sleep(); ...> } | created interface Animal
ในข้อมูลโค้ดด้านล่าง เราพบข้อผิดพลาดที่แจ้งว่าคลาส Cat ไม่ได้แทนที่เมธอดนามธรรมที่กำหนดโดยอินเทอร์เฟซ Animal คล้ายกับคลาสที่ใช้แนวคิดอินเทอร์เฟซในภาษา Java
jshell> class Cat implements Animal { ...> } | Error: | Cat is not abstract and does not override abstract method sleep() in Animal | class Cat implements Animal { | ^----------------------------