อินเทอร์เฟซเข้า Java พร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

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

  • 📜 ความหมาย: อินเทอร์เฟซระบุพฤติกรรมโดยใช้ค่าสัมบูรณ์tracเมธอดและค่าคงที่ที่คลาสที่นำไปใช้งานต้องจัดเตรียมไว้ให้
  • 🔑 คำที่เกี่ยวข้อง: อินเทอร์เฟซจะถูกประกาศโดยใช้คีย์เวิร์ด interface และคลาสจะใช้ implements เพื่อนำอินเทอร์เฟซเหล่านั้นมาใช้
  • 🧩 การสืบทอดทางกรรมพันธุ์หลายทาง: คลาสหนึ่งสามารถใช้งานอินเทอร์เฟซได้หลายแบบ ซึ่งช่วยแก้ปัญหาต่างๆ ได้ Javaขาดการสืบทอดคลาสแบบหลายชั้น
  • 🇧🇷 คลาส vs อินเทอร์เฟซ: ต่างจากคลาส อินเทอร์เฟซไม่สามารถสร้างอินสแตนซ์ได้ และโดยทั่วไปจะมีเพียงค่าสัมบูรณ์สาธารณะเท่านั้นtracวิธีการ t
  • 🎯 ควรใช้เมื่อใด: ใช้อินเทอร์เฟซเพื่อกำหนดบทบาทสำหรับคลาสที่ไม่เกี่ยวข้องกัน และค่าสัมบูรณ์tracคลาส t สำหรับเทมเพลตที่ใช้ร่วมกัน

อินเทอร์เฟซเข้า Java

อินเทอร์เฟซคืออะไร 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 ซึ่งมีเมธอดที่มีชื่อเดียวกัน แต่มีประเภทค่าส่งคืนที่แตกต่างกัน

คำถามที่พบบ่อย

ใช่แล้ว ผู้ช่วย AI สามารถสร้างอินเทอร์เฟซและคลาสที่ใช้งานจริงจากคำอธิบายที่เป็นภาษาธรรมดา รวมถึงเมธอดแบบร่างได้ อย่างไรก็ตาม นักพัฒนาควรตรวจสอบลายเซ็นของเมธอด ประเภทการส่งคืน และพฤติกรรมก่อนนำโค้ดไปใช้

เครื่องมือ AI วิเคราะห์อินเทอร์เฟซเพื่อแนะนำวิธีการใช้งาน ตรวจจับเมธอดที่ขาดหายไป และแนะนำโค้ดที่กระชับและใช้งานง่ายกว่าtracการดำเนินการระหว่างการปรับโครงสร้างใหม่ ซึ่งจะช่วยเร่งความเร็วในการพัฒนาในขณะที่ยังคงรักษาประสิทธิภาพไว้ได้ping โค้ดเบสมีความเชื่อมโยงกันอย่างหลวมๆ และดูแลรักษาง่ายขึ้น

ใช่. ตั้งแต่ Java 8. อินเทอร์เฟซสามารถมีเมธอดเริ่มต้นและเมธอดคงที่ที่มีการใช้งาน นอกเหนือจากค่าสัมบูรณ์tracวิธีการเหล่านี้ช่วยให้สามารถพัฒนาอินเทอร์เฟซได้โดยไม่ทำให้คลาสที่ใช้งานอยู่เดิมเสียหาย

อินเทอร์เฟซแบบมาร์กเกอร์ไม่มีเมธอดใดๆ ทำหน้าที่ส่งสัญญาณเมตาเดตาไปยัง JVM หรือคอมไพเลอร์ เพื่อให้พวกมันจัดการคลาสที่ใช้งานอินเทอร์เฟซนี้เป็นพิเศษ ตัวอย่างเช่น Serializable และ Cloneable ในมาตรฐาน Java ห้องสมุด.

สรุปโพสต์นี้ด้วย: