cari
RumahJavajavaTutorialWarisan dalam Java: Konsep dan Penggunaan

    Konsep pewarisan

    Warisan ialah apabila subkelas mewarisi ciri dan tingkah laku kelas induk, supaya objek subkelas (contoh) mempunyai domain contoh dan domain contoh kelas induk Kaedah, atau subkelas mewarisi kaedah daripada kelas induk, supaya subkelas mempunyai tingkah laku yang sama dengan kelas induk.

    Melalui warisan, anda boleh membuat kelas baharu dengan cepat, merealisasikan penggunaan semula kod, meningkatkan kebolehselenggaraan program, menjimatkan banyak masa dalam mencipta kelas baharu dan meningkatkan kecekapan dan kualiti pembangunan.

    Faedah warisan:

    • Kurangkan pertindihan kod

    • Tingkatkan kebolehgunaan semula kod

    • Memudahkan pengembangan fungsi

    ✅Format warisan: class A extends B{}

    A: subclass, derived class, subclass, B: parent class , superclass, base class, superclass

    merangkumi: setelah subkelas A mewarisi kelas induk B, subkelas A memperoleh semua sifat dan kaedah yang diisytiharkan dalam kelas induk B. Khususnya, kelas induk Untuk atribut atau kaedah yang diisytiharkan sebagai peribadi dalam subkelas, selepas mewarisi daripada kelas induk, subkelas masih dianggap telah memperoleh struktur persendirian kelas induk Ini hanya kerana pengaruh enkapsulasi, subkelas tidak boleh memanggil struktur kelas induk secara langsung

    Selepas mewarisi. kelas induk, subkelas juga boleh mengisytiharkan atribut atau kaedah uniknya sendiri: untuk merealisasikan pengembangan fungsi. Kelas induk boleh mempunyai berbilang subkelas Pewarisan tunggal kelas dalam Java: Kelas hanya boleh mempunyai satu kelas induk ialah konsep relatif Kelas induk yang diwarisi secara langsung dipanggil: induk langsung diwarisi secara tidak langsung dipanggil: kelas induk tidak langsung Selepas kelas anak mewarisi kelas induk, ia memperoleh atribut dan kaedah yang diisytiharkan dalam kelas induk langsung dan semua kelas induk tidak langsung

    Jika kita tidak mempunyai pengisytiharan yang jelas. Jika ia adalah kelas induk kelas, maka kelas ini diwarisi daripada kelas java.lang.Object Kelas Object ialah kelas induk akar bagi semua kelas java >

    1. Subkelas tidak boleh mewarisi kelas induk secara selektif; 3. Kaedah pembinaan tidak Akan diwarisi oleh subkelas, tetapi pembina kelas induk boleh dipanggil daripada subkelas.

    Sebagai contoh,

    kaedah penulisan semula

    Dalam aplikasi sebenar, fungsi kelas anak dan ibu bapa yang kita tulis adalah berbeza, maka kita perlu Override atau menyembunyikan ini kaedah kelas induk.

    1 Penulisan Semula: Selepas subkelas mewarisi kelas induk, ia boleh mengatasi kaedah dengan nama dan parameter yang sama dalam kelas induk

    class teacher{             //声明一个teacher类为父类
    	String name;      	   //定义父类的成员变量name、age   
    	int age;
    	void show(){           //定义父类成员方法,将成员变量输出
    		System.out.println(name); 	  
    		System.out.println(age); 
    	}
    }
    class Student extends teacher {     //声明一个Student类为子类并继承父类
    }
    public class myfirst {
    	public static void main(String[] args) {
    	System.out.println("学生");
    	Student student=new Student();     //声明一个Student类的实例对象student
    	student.name="Tom";                //子类调用父类的成员变量name并赋值
    	student.age=19;                    //子类调用父类的成员变量age并赋值
    	student.show();                    //子类调用父类的成员方法show
    	}
    }
    2 Aplikasi: Selepas menulis semula, apabila objek subkelas dicipta , apabila kaedah dengan nama dan parameter yang sama dalam subkelas dipanggil melalui objek subkelas, apa yang sebenarnya dilaksanakan ialah kaedah subkelas mengatasi kelas induk

    3 Menulis semula peruntukan: kaedah

    Pernyataan:

    Nama kaedah jenis nilai pulangan pengubah kebenaran (senarai parameter formal)

    Kaedah dalam subkelas dipanggil kaedah ganti dan kaedah dalam kelas induk dipanggil kaedah yang ditindih Kaedah yang ditulis, nama kaedah dan senarai parameter formal kaedah yang ditindih oleh subkelas adalah sama dengan nama kaedah dan senarai parameter formal kaedah yang ditindih bagi kelas induk, dan pengubah kebenaran kaedah ditindih oleh subkelas tidak kurang daripada kaedah yang ditindih bagi kelas induk kes khas pengubah kebenaran kaedah: subkelas tidak boleh mengatasi kaedah yang diisytiharkan sebagai kebenaran peribadi dalam kelas induk

    Mengenai jenis nilai pulangan:
    Jenis nilai pulangan kaedah ganti dalam kelas induk adalah tidak sah, jenis nilai pulangan kaedah yang ditindih oleh subkelas hanya boleh terbatal Jenis nilai pulangan kaedah ganti kelas induk ialah jenis A, maka jenis nilai pulangan kaedah yang ditindih oleh subkelas boleh menjadi kelas A atau Subkelas kelas A

    Jenis nilai pulangan kaedah ganti kelas induk ialah jenis data asas (contohnya: berganda) , maka jenis nilai pulangan kaedah yang ditindih oleh subkelas mestilah sama

    Kaedah dengan parameter nama yang sama dalam subkelas dan kelas induk mesti diisytiharkan sebagai bukan statik sebelum ia boleh ditindih adalah statik, ia tidak boleh ditindih

    Contohnya,

    kunci super Penggunaan perkataan

    super difahami sebagai: daripada kelas induk, super. boleh digunakan untuk memanggil, atribut, kaedah, pembina

    Penggunaan super, kita boleh menggunakannya dalam kaedah atau pembina subkelas . Dengan menggunakan "super.property" atau "super.method", anda boleh memanggil sifat atau kaedah yang diisytiharkan secara eksplisit dalam kelas induk Walau bagaimanapun, biasanya, kami terbiasa untuk mengabaikan "super.

    dalam kes khas: Apabila atribut dengan nama yang sama ditakrifkan dalam subkelas dan kelas induk, jika kita ingin memanggil atribut yang diisytiharkan dalam kelas induk dalam subkelas, kita mesti menggunakan kaedah "super.property" secara eksplisit untuk menunjukkan bahawa atribut diisytiharkan dalam kelas induk sedang dipanggil apabila subkelas mengatasi kaedah dalam kelas induk, dan kita mahu memanggil kaedah yang diganti dalam kelas induk dalam kaedah dalam subkelas, kita mesti menggunakan "super.method" secara eksplisit. Menunjukkan bahawa kaedah ganti dalam kelas induk dipanggil
    class A{
    	public void sayHello() {                      //输出英文欢迎
    		System.out.println("Hello,Welcome to Java!!!");
    	}
    	public void sayBye() {
    		System.out.println("GoodBye,everyone");
    	}
    }
    class B extends A {           
        public void sayHello() {                      //输出中文欢迎  
        	System.out.println("大家好,欢迎学习Java!!!");
        }
    }
    public class myfirst {
    	public static void main(String[] args) {
    	B b=new B();                                //创建子类B的一个实例对象,使用默认构造方法
    	b.sayHello();                               //调用子类中重写的方法
    	b.sayBye();                                 //调用父类中的方法
    	}
    }

    super memanggil pembina

    Kita boleh menggunakan "super (senarai parameter formal)" dalam pembina cara subkelas untuk memanggil pembina yang ditentukan diisytiharkan dalam kelas induk Penggunaan "super (senarai parameter formal)" mesti diisytiharkan dalam baris pertama pembina subkelas Dalam pembina kelas, kami menyasarkan "(format) senarai Parameter ini )" atau super (senarai parameter formal)" hanya boleh memilih salah satu daripada dua dan tidak boleh muncul pada masa yang sama Dalam baris pertama pembina, tiada pengisytiharan eksplisit "ini (senarai parameter formal)" atau "super. (senarai parameter formal)" ", panggil pembina

    dalam kelas induk, seperti

    Atas ialah kandungan terperinci Warisan dalam Java: Konsep dan Penggunaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
    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.

    Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

    Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

    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

    Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

    Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

    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

    See all articles

    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)
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Arahan sembang dan cara menggunakannya
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    EditPlus versi Cina retak

    EditPlus versi Cina retak

    Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

    Versi Mac WebStorm

    Versi Mac WebStorm

    Alat pembangunan JavaScript yang berguna

    Pelayar Peperiksaan Selamat

    Pelayar Peperiksaan Selamat

    Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

    SublimeText3 versi Inggeris

    SublimeText3 versi Inggeris

    Disyorkan: Versi Win, menyokong gesaan kod!

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa