Rumah  >  Artikel  >  Java  >  Perbezaan antara antara muka dan kelas Java: kaedah warisan dan pelaksanaan

Perbezaan antara antara muka dan kelas Java: kaedah warisan dan pelaksanaan

PHPz
PHPzasal
2023-12-23 09:06:54915semak imbas

Perbezaan antara antara muka dan kelas Java: kaedah warisan dan pelaksanaan

Antara muka dan kelas dalam Java ialah dua konsep penting, dan ia memainkan peranan yang berbeza dalam pengaturcaraan berorientasikan objek. Artikel ini akan menganalisis perbezaan antara antara muka dan kelas Java, memfokuskan pada membandingkan ciri mereka dalam warisan dan pelaksanaan, dan menyediakan contoh kod khusus untuk digambarkan.

1. Kaedah pewarisan

  1. Kaedah pewarisan kelas

Sebuah kelas ialah salah satu konsep asas berorientasikan objek di Jawa, dan ia boleh diwarisi oleh kelas lain. Apabila subkelas mewarisi kelas induk, subkelas akan mewarisi sifat dan kaedah kelas induk dan boleh menggunakan sifat dan kaedah ini secara langsung. Warisan diisytiharkan menggunakan kata kunci "lanjutkan".

public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

public class Dog extends Animal {
    public void run() {
        System.out.println("Dog is running");
    }
}

Dalam contoh di atas, kelas Anjing mewarisi kelas Haiwan, jadi ia boleh memanggil kaedah bunyi dalam kelas Haiwan dan mempunyai kaedah lariannya sendiri.

  1. Kaedah warisan antara muka

Antara muka ialah satu lagi konsep penting dalam pengaturcaraan Java. Ia mentakrifkan satu set kaedah yang perlu dilaksanakan, tetapi tidak mengandungi kod pelaksanaan sebenar. Kelas boleh menggunakan kaedah yang ditakrifkan oleh antara muka dengan melaksanakan antara muka. Antara muka diisytiharkan menggunakan kata kunci "melaksanakan".

public interface Drawable {
    void draw();
}

public class Circle implements Drawable {
    public void draw() {
        System.out.println("Circle is being drawn");
    }
}

Dalam contoh di atas, Bulatan kelas melaksanakan antara muka Boleh Dilukis, jadi kaedah cabutan dalam antara muka mesti dilaksanakan. Dengan cara ini, kelas Bulatan boleh mempunyai fungsi kaedah cabutan.

2. Kaedah pelaksanaan

  1. Kaedah pelaksanaan antara muka

Di Java, kelas boleh melaksanakan berbilang antara muka, dengan itu mentakrifkan kaedah dalam berbilang antara muka dalam kelas.

public interface Interface1 {
    void method1();
}

public interface Interface2 {
    void method2();
}

public class MyClass implements Interface1, Interface2 {
    public void method1() {
        System.out.println("Implementing method1");
    }

    public void method2() {
        System.out.println("Implementing method2");
    }
}

Dalam contoh di atas, kelas MyClass melaksanakan kedua-dua antara muka Interface1 dan Interface2, jadi kaedah yang ditakrifkan dalam kedua-dua antara muka ini mesti dilaksanakan.

  1. Cara melaksanakan kelas

Sesebuah kelas tidak mempunyai ciri-ciri melaksanakan antara muka Ia hanya boleh mewarisi tetapi tidak melaksanakan. Kelas hanya boleh mewarisi sifat dan kaedah daripada kelas induk melalui kata kunci extends.

public class Animal {
    // ...
}

public class Dog extends Animal {
    // ...
}

Dalam contoh di atas, kelas Anjing mewarisi kelas Haiwan dan dengan itu memperoleh sifat dan kaedah yang ditakrifkan dalam kelas Haiwan.

Ringkasnya, terdapat perbezaan yang ketara antara antara muka dan kelas di Jawa dari segi pewarisan dan pelaksanaan. Kelas terutamanya memperoleh sifat dan kaedah kelas induk melalui pewarisan, manakala antara muka mentakrifkan satu set kaedah yang perlu dilaksanakan melalui pelaksanaan. Artikel ini menyediakan contoh kod khusus untuk menggambarkan perbezaan antara kedua-duanya, dengan harapan bahawa pembaca boleh mempunyai pemahaman yang lebih mendalam tentang perbezaan antara antara muka dan kelas di Jawa.

Atas ialah kandungan terperinci Perbezaan antara antara muka dan kelas Java: kaedah warisan dan pelaksanaan. 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