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 {
| ^----------------------------