Computer >> Máy Tính >  >> Lập trình >> Java

Tham chiếu chuyển tiếp trong JShell trong Java 9 là gì?


JShell là một dòng lệnh công cụ cho phép chúng tôi nhập các câu lệnh Java (câu lệnh đơn giản, câu lệnh ghép hoặc thậm chí các phương thức và lớp đầy đủ), đánh giá nó và in kết quả.

Chuyển tiếp tài liệu tham khảo là các lệnh tham chiếu đến phương pháp , biến số hoặc lớp học không tồn tại trong bất kỳ mã nào chúng tôi đã nhập trong JShell. Khi mã được nhập và đánh giá tuần tự trong JShell, các chuyển tiếp này tài liệu tham khảo tạm thời chưa được giải quyết. JShell hỗ trợ các tham chiếu chuyển tiếp trong phương pháp cơ quan , quay lại loại , tham số loại , biến loại bên trong a lớp học .

Trong đoạn mã bên dưới, đã tạo một phương thức forwardReference () trong Jshell. Phương thức này không thể được gọi cho đến khi biến được khai báo. Nếu chúng tôi đang cố gắng gọi phương thức này, nó sẽ ném ra một thông báo cảnh báo:" đã cố gọi phương thức forwardReference () không thể được gọi cho đến khi khai báo biến 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


Trong đoạn mã dưới đây, chúng tôi đã khai báo " notYetDeclared "biến trả về một chuỗi. Cuối cùng, nếu chúng ta gọi forwardReference () trong JShell, sau đó nó in "biến được khai báo" .

jshell> String notYetDeclared = "variable is declared"
notYetDeclared ==> "variable is declared"

jshell> forwardReference()
variable is declared