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

Perbezaan antara warisan dan antara muka di Java

Susan Sarandon
Lepaskan: 2025-02-07 11:42:20
asal
532 orang telah melayarinya

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:
C.add(5, 10);
C.subtract(35, 15);
C.multiply(6, 9);
C.divide(45, 6);
Salin selepas log masuk

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>
Salin selepas log masuk

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)
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);
    }
}
Salin selepas log masuk

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
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 {
    // ... 方法实现 ...
}
Salin selepas log masuk

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!

Label berkaitan:
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan