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

Làm thế nào để khai báo một lớp và một giao diện trong JShell trong Java 9?


JShell có thể cung cấp một trình bao tương tác để nhanh chóng tạo mẫu, gỡ lỗi và học Java và Java API mà không cần đến main () hoặc cần phải biên dịch mã của chúng tôi trước khi thực thi nó.

Khai báo Lớp:

Chúng ta có thể khai báo một lớp giống như chúng ta đã viết mã bằng Ngôn ngữ Java. JShell có thể phát hiện khi lớp hoàn thành nó.

Trong đoạn mã dưới đây, chúng ta có thể khai báo một lớp Nhân viên với hai tham số và một phương thức.

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


Trong đoạn mã dưới đây, chúng tôi có thể tạo một đối tượng cho Nhân viên lớp và đặt giá trị thành 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


Khai báo Giao diện:

Chúng tôi cũng có thể khai báo một giao diện tương tự như một khai báo lớp. Khi chúng ta đã khai báo một giao diện, JShell sẽ phát hiện khi nào việc khai báo hoàn tất.

Trong đoạn mã dưới đây, chúng ta có thể khai báo giao diện Động vật với ba phương thức trừu tượng.

jshell> interface Animal {
...>       public void eat();
...>       public void move();
...>       public void sleep();
...>    }
| created interface Animal


Trong đoạn mã dưới đây, chúng tôi gặp lỗi khi nói rằng lớp Cat không ghi đè các phương thức trừu tượng được xác định bởi giao diện Animal. Nó tương tự như một lớp triển khai khái niệm giao diện bằng ngôn ngữ Java.

jshell> class Cat implements Animal {
...>    }
|    Error:
|    Cat is not abstract and does not override abstract method sleep() in Animal
|    class Cat implements Animal {
|    ^----------------------------