Rumah Java javaTutorial Cara menggunakan warisan bahasa Java

Cara menggunakan warisan bahasa Java

Jun 10, 2023 pm 05:42 PM
warisan java Kaedah yang diwarisi Pelaksanaan yang diwarisi

Cara menggunakan pewarisan dalam bahasa Java

Pewarisan dalam bahasa Java ialah ciri pengaturcaraan berorientasikan objek yang penting dan ia menjadikan hubungan antara kelas lebih rapat dan kebolehgunaan semula kod juga telah dipertingkatkan. Dalam pengaturcaraan Java, warisan digunakan untuk mencipta kelas baharu, yang boleh mewarisi semua sifat dan kaedah kelas sedia ada, dan juga boleh menambah sifat dan kaedahnya sendiri untuk melanjutkan dan menambah baik kelas sedia ada. Artikel ini akan memperkenalkan secara terperinci penggunaan pewarisan bahasa Jawa, termasuk definisi pewarisan, ciri pewarisan, pelaksanaan pewarisan, langkah berjaga-jaga untuk pewarisan, dsb.

1. Definisi pewarisan

Pewarisan ialah ciri penting dalam pengaturcaraan berorientasikan objek Ia membolehkan kami menggunakan kaedah dan sifat kelas sedia ada secara langsung semasa mereka bentuk kelas, sekali gus menjimatkan masa. dan tenaga. Di Java, pewarisan dilaksanakan melalui kata kunci extends Subkelas yang baru dibuat boleh mewarisi sifat dan kaedah kelas induk, dan boleh menambah sifat dan kaedahnya sendiri.

Inti warisan ialah warisan kelas induk oleh subkelas Subkelas akan memperoleh semua sifat dan kaedah bukan peribadi kelas induk, dan boleh melanjutkan kelas induk dengan menulis semula atau menambah kaedah baharu. Kedua-dua kelas dengan hubungan warisan dipanggil kelas induk dan kelas anak Kelas induk mempunyai beberapa sifat dan kaedah biasa, manakala kelas anak memanjangkan sifat dan kaedah baharu atas dasar ini.

2. Ciri warisan

  1. Kebolehgunaan semula kod

Warisan ialah cara penggunaan semula kod boleh mewarisi kod kelas induk , atribut dan kaedah, dengan itu mengelakkan masalah menulis kod yang sama berulang kali dan meningkatkan kebolehgunaan semula kod. Dalam warisan, subkelas boleh mengakses data sedia ada melalui kaedah dan atribut kelas induk, dan juga boleh mewarisi gelagat dan fungsi kelas induk, mengurangkan lebihan kod dan menggunakan kod sedia ada untuk melaksanakan fungsi baharu.

  1. Hierarki warisan

Di Jawa, terdapat berbilang kelas yang boleh diwarisi oleh subkelas, membentuk hierarki kelas. Kelas paling asas dalam struktur ini ialah kelas java.lang.Object, dan kelas selebihnya mewarisi kelas Objek. Dalam hierarki ini, subkelas boleh mewarisi ahli dan kaedah kelas induk, dan boleh melanjutkan kaedah dan sifat baharu atas dasar ini.

  1. Penulisan semula kaedah

Dalam warisan, subkelas boleh mentakrifkan semula kaedah dengan nama yang sama dengan kelas induk Proses ini dipanggil penulisan semula kaedah. Apabila mengatasi kaedah, subkelas mesti mengikut peraturan untuk mengatasi kelas induk, iaitu nama kaedah, jenis parameter dan jenis nilai pulangan mestilah sama dengan kelas induk, atau jenis nilai pulangan subkelas mestilah anak jenis nilai pulangan kelas induk. Subkelas juga boleh memilih untuk tidak mengatasi dan akan mewarisi kaedah daripada kelas induk Proses ini dipanggil warisan kaedah.

  1. Kawalan akses diwarisi

Di Java, terdapat empat hak akses kepada pembolehubah dan kaedah ahli: awam, persendirian, dilindungi dan lalai. Antaranya, awam mempunyai yang paling luas hak akses keizinan akses, manakala peribadi mempunyai keizinan paling sedikit. Dalam warisan, subkelas boleh mewarisi ahli awam dan dilindungi kelas induk, tetapi tidak boleh mewarisi ahli peribadi kelas induk. Walaupun subkelas boleh mengakses kaedah dan sifat yang dilindungi kelas induk, kaedah dan sifat ini tidak dapat dilihat oleh kelas lain.

3. Cara melaksanakan pewarisan

Pewarisan dalam Java boleh dicapai melalui kata kunci extends Format sintaks ialah:

访问修饰符 class subclass-name extends parent-class-name {
   // 子类继承父类的成员和方法
}
Salin selepas log masuk

Dalam subkelas, anda boleh mewarisi induk. class Semua kaedah dan sifat bukan persendirian, anda juga boleh mengatasi kaedah kelas induk atau menambah kaedah dan sifat anda sendiri. Subkelas hanya boleh mewarisi daripada satu kelas induk dan kelas induk boleh diwarisi oleh berbilang subkelas.

Berikut ialah contoh pewarisan:

public class Animal {
   public void move() {
      System.out.println("Animal can move");
   }
}

public class Dog extends Animal {
   public void move() {
      System.out.println("Dog can move");
   }
}

public class TestDog {
   public static void main(String args[]) {
      Animal a = new Animal(); // Animal 对象
      Animal b = new Dog(); // Dog 对象
      
      a.move(); // 执行 Animal 类的方法
      b.move(); // 执行 Dog 类的方法
   }
}
Salin selepas log masuk

Dalam contoh di atas, kelas Haiwan ialah kelas induk, kelas Anjing ialah subkelas dan kelas Anjing mewarisi pergerakan() kaedah kelas induk Animal , dan mentakrifkan semula kaedahnya sendiri.

4. Nota tentang warisan

  1. Pembina tidak boleh diwarisi

Di Java, apabila subkelas mewarisi kelas induk, pembina tidak boleh diwarisi , subkelas perlu menentukan pembinanya sendiri. Dalam subkelas, anda boleh menggunakan kata kunci super untuk memanggil pembina kelas induk untuk memulakan kelas induk.

  1. Apabila subkelas mengatasi kaedah kelas induk, kebenaran akses tidak boleh lebih ketat

Dalam Java, apabila subkelas mengatasi kaedah kelas induk, kebenaran akses perlu menjadi sama atau lebih ketat Longgar, tidak lebih ketat. Sebagai contoh, kebenaran akses kaedah kelas induk adalah awam dan kebenaran akses kaedah subkelas tidak boleh ditetapkan kepada kebenaran peribadi atau dilindungi.

  1. Penunjuk kelas induk boleh menunjuk ke objek subkelas, tetapi bukan sebaliknya

Polymorphism dalam Java membenarkan penunjuk kelas induk menunjuk ke objek subkelas Ini Keadaan ini dipanggil ke atas transformasi. Tetapi sebaliknya adalah tidak benar Contohnya, penunjuk kelas Anjing tidak boleh menunjuk ke objek kelas Haiwan.

  1. Kaedah akhir tidak boleh ditindih

Di Java, jika kaedah dalam kelas induk ditakrifkan sebagai muktamad, subkelas tidak boleh mengatasi kaedah ini, iaitu , kaedah akhir tidak boleh ditindih. Sekatan ini adalah untuk menghalang subkelas daripada mengubah suai kaedah asal dan menjejaskan ketepatan program.

  1. Warisan dan gubahan

Di Jawa, sebagai tambahan kepada warisan, terdapat satu lagi cara biasa penggunaan semula kod, iaitu gubahan. Komposisi ialah menggunakan objek contoh satu kelas sebagai pembolehubah ahli kelas lain untuk melanjutkan sifat dan kaedahnya sendiri. Tidak seperti warisan, gubahan mengaitkan dua kelas dalam cara gubahan dan bukannya cara warisan. Anda perlu memilih mengikut situasi sebenar semasa menggunakannya.

Ringkasan

Warisan dalam bahasa Java ialah ciri pengaturcaraan berorientasikan objek yang penting, yang boleh mengoptimumkan penggunaan semula kod dan mengurangkan kos pembangunan. Apabila menggunakan warisan, anda perlu memberi perhatian kepada isu seperti kebenaran akses kelas induk dan subkelas, pembina dan penulisan semula kaedah untuk memastikan ketepatan dan keselamatan program. Sudah tentu, dalam pembangunan sebenar, pewarisan tidak semestinya cara terbaik untuk menggunakan semula kod Gabungan juga merupakan pilihan yang boleh anda pilih mengikut situasi sebenar.

Atas ialah kandungan terperinci Cara menggunakan warisan bahasa Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Mar 07, 2025 pm 06:09 PM

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Mar 07, 2025 pm 06:12 PM

Node.js 20 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Iceberg: Masa Depan Jadual Data Tasik Iceberg: Masa Depan Jadual Data Tasik Mar 07, 2025 pm 06:31 PM

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Mar 07, 2025 pm 05:52 PM

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini ketergantungan

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java? Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java? Mar 11, 2025 pm 05:51 PM

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

See all articles