Rumah  >  Artikel  >  Java  >  Apakah Antara Muka di Java dan bagaimana ia berbeza daripada Kelas Abstrak?

Apakah Antara Muka di Java dan bagaimana ia berbeza daripada Kelas Abstrak?

Susan Sarandon
Susan Sarandonasal
2024-11-06 18:16:02907semak imbas

What are Interfaces in Java and how do they differ from Abstract Classes?

Memahami Antara Muka dalam Java

Antara muka dalam Java ialah jenis unik kelas abstrak yang mentakrifkan kaedah tanpa menyediakan pelaksanaan. Ia menguatkuasakan kontrak antara kelas yang melaksanakannya, menyatakan kaedah yang mereka mesti ada, tetapi bukan kelakuan mereka.

Mencipta Antara Muka:

interface InterfaceName
{
    void interfaceMethodName();
}

Melaksanakan Antara Muka:

Kelas boleh melaksanakan berbilang antara muka. Setiap kaedah antara muka yang dilaksanakan mesti ditakrifkan dalam kelas.

public class ImplementingClass implements InterfaceA, InterfaceB
{
    public void interfaceMethodA() { /* Implementation */ }
    public void interfaceMethodB() { /* Implementation */ }
}

Perbezaan Utama daripada Kelas Abstrak:

  1. Pelaksanaan Kaedah: Antara muka tidak boleh melaksanakan kaedah, manakala kelas abstrak boleh.
  2. Pewarisan Berbilang: Kelas boleh melanjutkan hanya satu kelas abstrak tetapi boleh melaksanakan berbilang antara muka.

Kelebihan dan Had Pelbagai Antara Muka:

Berbilang antara muka membenarkan fleksibiliti dan penggunaan semula kod dengan mentakrifkan fungsi boleh guna semula sebagai kontrak berasingan. Walau bagaimanapun, jika dua antara muka mengisytiharkan tandatangan kaedah bercanggah, ia boleh membawa kepada ralat masa jalan.

مثال pada Menggunakan Antara Muka:

interface InterfaceA
{
    void methodA();
}

interface InterfaceB
{
    void methodB();
}

public class ImplementingClass implements InterfaceA, InterfaceB
{
    public void methodA() { System.out.println("InterfaceA, MethodA"); }
    public void methodB() { System.out.println("InterfaceB, MethodB"); }
}

Dalam contoh ini, ImplementingClass mesti laksanakan kedua-dua kaedahA dan kaedahB mengikut kontrak yang ditakrifkan oleh InterfaceA dan InterfaceB masing-masing.

Atas ialah kandungan terperinci Apakah Antara Muka di Java dan bagaimana ia berbeza daripada Kelas Abstrak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn