อินเทอร์เฟซเข้า Java พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
อินเทอร์เฟซเข้า Java เป็นกล้ามท้องtracประเภท t ที่ระบุพฤติกรรมที่คลาสต้องนำไปใช้ ซึ่งประกอบด้วยค่าคงที่และค่าสัมบูรณ์tracวิธีการต่างๆ แหล่งข้อมูลนี้อธิบายว่าอินเทอร์เฟซคืออะไร ทำไมจึงจำเป็น วิธีการประกาศและใช้งานอินเทอร์เฟซ และความแตกต่างระหว่างอินเทอร์เฟซกับคลาสและค่าสัมบูรณ์tracคลาส t

อินเทอร์เฟซคืออะไร Java?
An อินเทอร์เฟซเข้า Java ภาษาโปรแกรมถูกนิยามว่าเป็นสิ่งที่เป็นนามธรรมtracชนิดข้อมูล t ใช้เพื่อระบุพฤติกรรมของคลาส A Java อินเทอร์เฟซประกอบด้วยค่าคงที่แบบสแตติกและค่าสัมบูรณ์tracเมธอด t คลาสหนึ่งสามารถใช้งานอินเทอร์เฟซได้หลายตัว ใน Javaอินเทอร์เฟซถูกประกาศโดยใช้คีย์เวิร์ด `interface` เมธอดทั้งหมดในอินเทอร์เฟซจะเป็นแบบสาธารณะและแบบสัมบูรณ์โดยปริยายtract.
ไวยากรณ์สำหรับการประกาศอินเทอร์เฟซ
ในการใช้งานอินเทอร์เฟซในคลาสของคุณ ให้เพิ่มคำว่า “implements” ต่อท้ายชื่อคลาสของคุณ ตามด้วยชื่อของอินเทอร์เฟซ
interface { // methods }
ตัวอย่างการใช้งานอินเทอร์เฟซ
ต่อไปนี้ เรามาทำความเข้าใจเกี่ยวกับอินเทอร์เฟซกัน Java พร้อมตัวอย่าง:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
เหตุใดจึงต้องมีอินเทอร์เฟซ?
เพื่อทำความเข้าใจการใช้งานอินเทอร์เฟซใน Java ดีกว่านั้น ลองมาดูที่... Java ตัวอย่างอินเทอร์เฟซ คลาส “Media Player” มีคลาสย่อยสองคลาส ได้แก่ CD player และ DVD player โดยแต่ละคลาสจะมีเมธอดการใช้งานอินเทอร์เฟซเฉพาะของตนเองเพื่อเล่นเพลง
คลาสอีกคลาสหนึ่งชื่อ “ไดรฟ์คอมโบ” สืบทอดคุณสมบัติทั้ง CD และ DVD (ดูภาพด้านล่าง) ควรเลือกวิธีการเล่นแบบใด? นี่อาจก่อให้เกิดปัญหาด้านการออกแบบอย่างร้ายแรง ดังนั้น... Java ไม่อนุญาตให้มีหลายรายการ มรดก.
ทีนี้เรามาดูตัวอย่างสุนัขอีกตัวหนึ่งกันครับ
สมมติว่าคุณมีข้อกำหนดที่ว่าคลาส "dog" ต้องสืบทอดจากคลาส "animal" และ "Pet" (ดูภาพด้านล่าง) แต่คุณไม่สามารถสืบทอดจากสองคลาสพร้อมกันได้ Javaแล้วคุณจะทำอย่างไร? คำตอบคือ อินเทอร์เฟซ
กฎเกณฑ์สำหรับการใช้งานอินเทอร์เฟซระบุไว้ว่า:
- A Java อินเทอร์เฟซเป็นวัสดุ ABS 100%tracคลาส t และมีเท่านั้น เอบีเอสtracวิธีการ t.
- คลาสหนึ่งๆ สามารถใช้งานอินเทอร์เฟซได้หลายแบบ
คลาส Dog สามารถสืบทอดจากคลาส “Animal” และใช้งานอินเทอร์เฟซ “Pet” ได้
Java ตัวอย่างอินเทอร์เฟซ
เรามาทำความเข้าใจโปรแกรมอินเทอร์เฟซด้านล่างนี้กันเถอะ Java:
ขั้นตอน 1) คัดลอกโค้ดต่อไปนี้ลงในโปรแกรมแก้ไข
interface Pet { public void test(); } class Dog implements Pet { public void test() { System.out.println("Interface Method Implemented"); } public static void main(String args[]) { Pet p = new Dog(); p.test(); } }
ขั้นตอน 2) บันทึก คอมไพล์ และรันโค้ด สังเกตผลลัพธ์ของอินเทอร์เฟซใน Java โครงการ.
ความแตกต่างระหว่างคลาสและอินเทอร์เฟซ
| ชั้น | อินเตอร์เฟซ |
|---|---|
| ในคลาส คุณสามารถสร้างอินสแตนซ์ของตัวแปรและสร้างอ็อบเจ็กต์ได้ | ในอินเทอร์เฟซ คุณไม่สามารถกำหนดค่าเริ่มต้นให้กับตัวแปรหรือสร้างอ็อบเจ็กต์ได้ |
| คลาสสามารถประกอบด้วยเมธอดที่เป็นรูปธรรม (พร้อมการใช้งาน) ได้ | อินเทอร์เฟซไม่สามารถมีเมธอดที่เป็นรูปธรรม (ที่มีการใช้งานจริง) ได้ |
| ตัวกำหนดสิทธิ์การเข้าถึงที่ใช้กับคลาส ได้แก่ private, protected และ public | ในอินเทอร์เฟซ จะใช้ตัวระบุเพียงตัวเดียว คือ public |
ควรใช้ Interface และ Abs เมื่อใดtracชั้นเรียน t?
- ใช้กล้ามเนื้อหน้าท้องtracใช้คลาส t เมื่อจำเป็นต้องกำหนดเทมเพลตสำหรับกลุ่มของคลาสย่อย
- ใช้อินเทอร์เฟซเมื่อจำเป็นต้องกำหนดบทบาทให้กับคลาสอื่น โดยไม่คำนึงถึงลำดับการสืบทอดของคลาสเหล่านั้น
ต้องรู้ข้อเท็จจริงเกี่ยวกับอินเทอร์เฟซ
- A Java คลาสสามารถนำไปใช้ได้หลายอย่าง Java อินเทอร์เฟซ จำเป็นอย่างยิ่งที่คลาสจะต้องใช้งานเมธอดทั้งหมดที่ประกาศไว้ในอินเทอร์เฟซเหล่านั้น
- คลาสควรเขียนทับค่า abs ทั้งหมดtracเมธอด t ที่ประกาศไว้ในอินเทอร์เฟซ
- อินเทอร์เฟซนี้อนุญาตให้ส่งข้อความไปยังวัตถุได้โดยไม่จำเป็นต้องคำนึงถึงว่าวัตถุนั้นเป็นของคลาสใด
- คลาสจำเป็นต้องมีฟังก์ชันการทำงานสำหรับเมธอดที่ประกาศไว้ในอินเทอร์เฟซ
- เมธอดทั้งหมดในอินเทอร์เฟซนั้นเป็นแบบสาธารณะและแบบสัมบูรณ์โดยปริยายtract.
- ไม่สามารถสร้างอินสแตนซ์ของอินเทอร์เฟซได้
- การอ้างอิงอินเทอร์เฟซสามารถชี้ไปยังอ็อบเจ็กต์ของคลาสที่ใช้งานอินเทอร์เฟซนั้นได้
- อินเทอร์เฟซสามารถสืบทอดมาจากอินเทอร์เฟซหนึ่งหรือหลายอินเทอร์เฟซได้ ส่วนคลาสสามารถสืบทอดมาจากคลาสอื่นได้เพียงคลาสเดียว แต่สามารถใช้งานอินเทอร์เฟซได้หลายอินเทอร์เฟซ
- อินเทอร์เฟซไม่สามารถใช้งานอินเทอร์เฟซอื่นได้ หากจำเป็น อินเทอร์เฟซหนึ่งจะต้องสืบทอดมาจากอินเทอร์เฟซอื่น
- อินเทอร์เฟซที่ถูกประกาศไว้ภายในอินเทอร์เฟซอื่น เรียกว่า อินเทอร์เฟซซ้อน (nested interface)
- ในขณะที่ประกาศ ตัวแปรอินเทอร์เฟซจะต้องได้รับการกำหนดค่าเริ่มต้น มิเช่นนั้น คอมไพเลอร์จะแสดงข้อผิดพลาด
- คลาสหนึ่งไม่สามารถใช้งานอินเทอร์เฟซสองตัวพร้อมกันได้ Java ซึ่งมีเมธอดที่มีชื่อเดียวกัน แต่มีประเภทค่าส่งคืนที่แตกต่างกัน




