Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะประกาศคลาสและอินเทอร์เฟซใน JShell ใน Java 9 ได้อย่างไร


JShell สามารถจัดเตรียมเชลล์แบบโต้ตอบสำหรับการสร้างต้นแบบ การดีบัก และการเรียนรู้ Java และ Java API ได้อย่างรวดเร็วโดยไม่ต้องใช้ main() เมธอดหรือจำเป็นต้องคอมไพล์โค้ดของเราก่อนดำเนินการ

การประกาศคลาส:

เราสามารถประกาศคลาสได้เหมือนกับที่เราได้เขียนโค้ดในภาษา Java JShell สามารถตรวจจับได้เมื่อชั้นเรียนเสร็จสิ้น

ในโค้ดด้านล่าง เราสามารถประกาศคลาส พนักงาน ด้วยสองพารามิเตอร์และหนึ่งวิธี

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


ในโค้ดด้านล่าง เราสามารถสร้างออบเจ็กต์สำหรับ พนักงาน class และตั้งค่าเป็น 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 จะตรวจพบเมื่อการประกาศเสร็จสิ้น

ในโค้ดด้านล่าง เราสามารถประกาศอินเทอร์เฟซ สัตว์ ด้วยวิธีการเชิงนามธรรม 3 วิธี

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