如何在Java 9的JShell中宣告類和介面?


JShell可以提供一個互動式shell,用於快速原型設計、除錯和學習Java和Java API,無需main()方法,也無需在執行前編譯程式碼。

類的宣告

我們可以像編寫Java語言程式碼一樣宣告一個類。JShell可以檢測到類的完成。

在下面的程式碼片段中,我們可以宣告一個帶有兩個引數和一個方法的Employee類。

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


在下面的程式碼片段中,我們可以為Employee類建立一個物件,併為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會檢測到宣告的完成。

在下面的程式碼片段中,我們可以宣告一個帶有三個抽象方法的Animal介面。

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

更新於:2020年3月3日

289 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告