JShell เป็น บรรทัดคำสั่ง เครื่องมือ ที่ช่วยให้เราป้อนคำสั่ง Java (คำสั่งง่าย คำสั่งผสม หรือแม้แต่เมธอดและคลาสทั้งหมด) ประเมินและพิมพ์ผลลัพธ์
ไปข้างหน้า ข้อมูลอ้างอิง เป็นคำสั่งที่อ้างอิงถึง วิธีการ , ตัวแปร หรือ คลาส ที่ไม่มีอยู่ในรหัสใด ๆ ที่เราได้พิมพ์ใน JShell เมื่อโค้ดป้อนและประเมินตามลำดับใน JShell ส่งต่อ . เหล่านี้ ข้อมูลอ้างอิง ไม่ได้รับการแก้ไขชั่วคราว JShell รองรับการอ้างอิงไปข้างหน้าใน วิธี ร่างกาย , ส่งคืน ประเภท , พารามิเตอร์ ประเภท , ตัวแปร ประเภท และ ภายใน ก คลาส .
ในข้อมูลโค้ดด้านล่าง สร้างเมธอด forwardReference() ในเจเชลล์ ไม่สามารถเรียกใช้เมธอดนี้จนกว่าจะมีการประกาศตัวแปร หากเรากำลังพยายามเรียกเมธอดนี้ ระบบจะส่งข้อความเตือนว่า "พยายามเรียกเมธอด forwardReference() ซึ่งไม่สามารถเรียกใช้ได้จนกว่าจะประกาศตัวแปร notYetDeclared
C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> void forwardReference() { ...> System.out.println(notYetDeclared); ...> } | created method forwardReference(), however, it cannot be invoked until variable notYetDeclared is declared jshell> forwardReference() | attempted to call method forwardReference() which cannot be invoked until variable notYetDeclared is declared
ในข้อมูลโค้ดด้านล่าง เราได้ประกาศ "notYetDeclared " ตัวแปรที่ส่งคืนสตริง สุดท้าย หากเราเรียก forwardReference() ใน JShell จากนั้นจะพิมพ์ "ประกาศตัวแปร" .
jshell> String notYetDeclared = "variable is declared" notYetDeclared ==> "variable is declared" jshell> forwardReference() variable is declared