JShell เป็นเครื่องมือบรรทัดคำสั่ง แนะนำใน Java 9 และเป็น REPL . อย่างเป็นทางการครั้งแรกของ Java เครื่องมือในการสร้างสภาพแวดล้อมการเขียนโปรแกรมอย่างง่ายที่อ่านอินพุตของผู้ใช้ ประเมิน และพิมพ์ผลลัพธ์
การประกาศภายนอกคลาส หรือ อินเทอร์เฟซ (และการประกาศของคลาสและอินเทอร์เฟซด้วยตัวเอง) ได้ถูกสร้างขึ้นภายใต้กฎต่อไปนี้
กฎสำหรับการประกาศภายนอก:
1) ตัวแก้ไขการเข้าถึง เช่น สาธารณะ มีการป้องกัน และ ส่วนตัว สามารถละเลยได้ ตัวอย่างข้อมูลการประกาศทั้งหมดสามารถเข้าถึงได้โดยข้อมูลโค้ดอื่นๆ ทั้งหมด
jshell> private int i = 10; i ==> 10 jshell> System.out.println(i); 10
2) ตัวแก้ไข สุดท้าย สามารถละเลยได้ อนุญาตให้เปลี่ยนแปลงและสืบทอดได้
jshell> final class A {void m() {} } | Warning: | Modifier 'final' not permitted in top-level declarations, ignored | final class A {void m() {} } | ^---^ | created class A
3) ตัวแก้ไข คงที่ สามารถละเว้นได้เนื่องจากไม่มีคลาสคอนเทนเนอร์
jshell> static char letter = 'A; | Warning: | Modifier 'static' not permitted in top-level declarations, ignored | static char letter = 'A'; | ^----^ letter ==> 'A'
4) ค่าเริ่มต้น . ของตัวแก้ไข และ ซิงโครไนซ์ ไม่อนุญาต
jshell> synchronized void method() {} | Error: | Modifier 'synchronized' not permitted in top-level declarations | synchronized void method() {} | ^----------^
5) ท เขาแก้ไข นามธรรม อนุญาตเฉพาะในชั้นเรียนเท่านั้น
jshell> abstract void method(); | Error: | Modifier 'abstract' not permitted in top-level declarations | abstract void method(); | ^------^