Rumah >Java >javaTutorial >Perbezaan antara warisan dan antara muka di Java

Perbezaan antara warisan dan antara muka di Java

Susan Sarandon
Susan Sarandonasal
2025-02-07 11:42:20449semak imbas

Difference between Inheritance and Interface in Java

Pewarisan dan antara muka dalam Java adalah dua kaedah organisasi kod yang berbeza, yang digunakan untuk membuat hierarki antara kelas dan melaksanakan penggunaan semula kod. Warisan mencipta subclass dengan menyalin sifat dan kaedah kelas induk, sementara antara muka mentakrifkan satu set tandatangan kaedah, yang dilaksanakan secara khusus oleh kelas pelaksanaan. Artikel ini akan menjelaskan perbezaan utama antara kedua -dua dan menggambarkan mereka dengan contoh kod Java.

Contoh kod

Kod berikut menunjukkan penggunaan antara muka dan warisan:

Hasil output:
<code class="language-java">C.add(5, 10);
C.subtract(35, 15);
C.multiply(6, 9);
C.divide(45, 6);</code>

perbezaan antara warisan dan antara muka
<code>The result is here. Have A Look : 15.0
The result is here. Have A Look : 20.0
The result is here. Have A Look : 54.0
The result is here. Have A Look : 7.5</code>

warisan membolehkan kelas mewarisi ciri -ciri kelas induk dan kelas nenek moyang. Dan antara muka mentakrifkan kontrak antara abstraksi dan kaedah yang ditetapkan.
特性 继承 接口
定义 基类将行为传递给子类。 接口定义了所有声明方法的关系。
代码复用 通过重写方法复用超类代码。 通过多态性提高代码可重用性。
多继承支持 单继承(一个类只能继承一个父类),但可以有多个子类。 支持多继承,无需指定实现细节。

Kaedah dan algoritma

Artikel ini menggunakan kod sampel untuk menunjukkan cara menggunakan koleksi dan iterator untuk memproses data dan melaksanakan fungsi kalkulator melalui antara muka dan warisan. Langkah utama algoritma adalah seperti berikut:

mengisytiharkan aliran input dan output.
  1. mengimport kelas dan fungsi yang diperlukan.
  2. Tentukan kelas awam.
  3. Tentukan kaedah (tambah, tolak, membiak, membahagikan, hasil cetakan).
  4. Buat objek kalkulator dan panggil kaedah.
  5. Cetak hasilnya.
  6. Contoh Tatabahasa

Kod berikut menunjukkan penggunaan TreeSet, IdentityHashMap, dan Hashtable, serta aplikasi Iterators ketika melintasi koleksi, untuk menggambarkan bagaimana warisan dan antara muka berfungsi.

masalah berlian (masalah berlian)
<code class="language-java">TreeSet STTREE = new TreeSet();
STTREE.add(4);
STTREE.add(5);
STTREE.add(6);
STTREE.add(8);
STTREE.add(4);

IdentityHashMap ihmap = new IdentityHashMap();
ihmap.put(10, "ARB");
ihmap.put(20, "RDD");
ihmap.put(30, "ARBRDD");
ihmap.put(40, "KOLDHKA");
ihmap.put(50, "You");

System.out.println("IdentityHashMap size : " + ihmap.size());
System.out.println("Initial identity hash map :  " + ihmap);

Hashtable table = new Hashtable();
table.put(1, "X");
table.put(2, "Y");
table.put(3, "Z");
table.put(4, "A");

for (Map.Entry m : table.entrySet()) {
    Iterator<map.entry> itr = ihmap.entrySet().iterator();
    while (itr.hasNext()) {
        IdentityHashMap.Entry entry = itr.next();
        TreeMap MAPTREE = new TreeMap();
        MAPTREE.put(2, 5);
        MAPTREE.put(3, 6);
        MAPTREE.put(4, 6);
        MAPTREE.put(2, 3);
    }
}</map.entry></code>

Masalah berlian adalah masalah yang mungkin dalam pelbagai warisan. Warisan pelbagai antara muka mengelakkan batasan warisan tunggal dan meningkatkan fleksibiliti kod dan skalabiliti.

Contoh kod

(menggunakan kaedah berlian)

Kod berikut menunjukkan pelaksanaan kalkulator menggunakan antara muka dan kelas pelaksanaan:

Kesimpulan
<code class="language-java">import java.util.*;

interface ARBRDD {
    public void add(double x, double y);
    public void subtract(double x, double y);
}

interface Mul_Div {
    public void multiply(double x, double y);
    public void divide(double x, double y);
}

interface Calculator extends ARBRDD, Mul_Div {
    public void printResult(double result);
}

public class MyCalculator implements Calculator {
    // ... 方法实现 ...
}</code>

Artikel ini jelas menerangkan perbezaan antara warisan dan antara muka dalam Java melalui kod dan jadual sampel, dan menunjukkan cara menggunakannya untuk membina program yang fleksibel dan diperluas melalui kes -kes praktikal. Memahami perbezaan antara warisan dan antara muka adalah penting untuk menulis kod Java berkualiti tinggi.

Atas ialah kandungan terperinci Perbezaan antara warisan dan antara muka di Java. 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