在 Java 9 的 JShell 中,我們需要遵循哪些規則?


Java 9 引入了一個互動式 REPL(讀取-求值-列印-迴圈)工具:JShell,它允許我們執行程式碼片段並立即獲得結果。程式碼片段是可以使用標準 Java 語法的指令。它表示單個表示式、語句或宣告。

以下是使用 JShell 工具時需要遵循的一些規則。

JShell 工具規則

  • 程式碼片段類似於 import 宣告、類宣告、方法宣告、介面宣告、欄位宣告、語句和主表示式。
  • 不允許使用宣告。JShell 程式碼放置在臨時 JShell 包下。
  • 訪問修飾符:publicprotectedprivate,以及修飾符:finalstatic,在頂級宣告中不允許使用。如果提供,則會忽略併發出警告。
  • 修飾符:defaultsynchronized頂級宣告中完全不允許。但是,它可以在巢狀上下文中使用。
  • abstract 修飾符只能在類中使用。
  • 當用戶輸入不完整時(例如,我們只輸入 System.out 並跳過 println 部分),JShell 自動完成 API 會提示使用者輸入更多內容。
  • 如果使用者輸入完整,但沒有分號,JShell 可以自動追加它。


在下面的示例程式碼片段中,我們建立了Employee類,其中包含必要的 getter 方法,並使用new運算子對其進行了例項化。

程式碼片段

jshell> class Employee {
   ...>    private String firstName;
   ...>    private String lastName;
   ...>    private String designation;
   ...>    public Employee(String firstName, String lastName, String designation) {
   ...>       this.firstName = firstName;
   ...>       this.lastName = lastName;
   ...>       this.designation = designation;
   ...>    }
   ...>    public String getFirstName() {
   ...>       return firstName;
   ...>    }
   ...>    public String getLastName() {
   ...>       return lastName;
   ...>    }
   ...>    public String getDesignation() {
   ...>       return designation;
   ...>    }
   ...>    public String toString() {
   ...>       return "Name = " + firstName + ", " + lastName + " | " +
   ...>              "designation = " + designation;
   ...>    }
   ...> }
| created class Employee

jshell> Employee emp = new Employee("Sai", "Adithya", "Content Developer");
emp ==> Name = Sai, Adithya | designation = Content Developer

更新於: 2020年4月27日

151 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.