Rumah > Java > javaTutorial > Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

WBOY
Lepaskan: 2023-04-23 14:58:07
ke hadapan
1417 orang telah melayarinya

Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?


Kaedah pembina

Kaedah pembina kelas ialah kaedah khas, ini nama kaedah Ia mesti konsisten dengan nama kelas Pembinaan tidak boleh mempunyai nilai pulangan, tidak menggunakan void, dan tidak boleh dipanggil secara automatik apabila objek kelas dijadikan instantiated, dan boleh dipanggil apabila baru. Pembina umum digunakan untuk permulaan apabila menginstant objek kelas. Jika kelas tidak mempunyai pembina bertulis, sistem secara automatik menambah pembina tanpa hujah ke kelas ini semasa penyusunan. Jika pembina ditulis untuk kelas yang diisytiharkan, sistem tidak lagi menambah pembina tanpa parameter Adalah disyorkan bahawa selepas menulis pembina, adalah lebih baik untuk menulis pembina tanpa parameter.

Pembinaan tanpa parameter

Secara terang-terangan, ia adalah kaedah pembinaan tanpa parameter
Jika anda tidak t faham konsep, ia akan jelas dengan contoh.
Isytihar kelas A

public class A {
    }
Salin selepas log masuk

Buat kaedah pembina A() dalam kelas A, dan cetak ayat
Kaedah pembina mestilah sama dengan nama kelas

public class A {
    public A(){
        System.out.println("构造方法A()");
    }}
Salin selepas log masuk

Buat kelas ujian baharu dan nuw objek kelas A dalam kelas

public class Test {
    public static void main(String[] args) {
        A a = new A();
    }}
Salin selepas log masuk

Laksanakan yang utama kaedah dan cuba

Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

Kaedah pembinaan adalah bersamaan dengan kaedah yang digunakan secara automatik dalam objek baharu

Pembinaan dengan parameter

Pembinaan berparameter ialah pembina dengan parameter
Isytiharkan pembina berparameter dalam kelas A dan masukkan dua parameter jenis Rentetan, a dan b

public class A {
    public A() {
    }

    public A(String a, String b) {
        System.out.println(a + b);
    }}
Salin selepas log masuk

Masukkan parameter apabila mencipta objek baharu a dalam kelas ujian

public class Test {
    public static void main(String[] args) {
        A a = new A("aaa", "bbb");
    }}
Salin selepas log masuk

Laksanakan kaedah utama
Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

Nota

Apabila tiada pembina, binaan tanpa parameter disembunyikan dalam kelas. Tetapi apabila anda mencipta pembina parameter, pembina tanpa parameter tersembunyi hilang. Kemudian objek baharu hanya boleh mengambil parameter pada masa hadapan. Oleh itu, apabila membina pembina berparameter, anda mesti mencipta pembina tanpa parameter dan meletakkannya di sana.

Warisan kelas

Dalam bahasa Java, kelas mempunyai warisan tunggal dan antara muka pelaksanaan berbilang. Antara muka antara muka ialah warisan berbilang.

Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

Mengapa kita harus mewarisi? Kerana subkelas ingin menambah fungsi baru berdasarkan kelas induk.
Subkelas mewarisi kaedah dan atribut kelas induk
Berikut ialah analisis contoh:
Kelas induk ialah seseorang, dan subkelas ialah pemandu berpengalaman.
Ciri-ciri manusia termasuk: dua tangan, dua mata, dua kaki, kebolehan makan dan minum
Pemandu tua itu mewarisi ciri-ciri manusia, dan mempunyai fungsi tambahan iaitu boleh memandu.

Kodnya adalah seperti berikut:

Ini ialah manusia yang mempunyai sifat dan fungsi berikut.

public class Ren {
    public final String shou = "两只手";
    public final String jiao = "两只脚";
    public final String yan = "两只眼";

    public void chi() {
        System.out.println("会吃");
    }

    public void he() {
        System.out.println("会喝");
    }}
Salin selepas log masuk

Ini adalah golongan veteran, diwarisi daripada manusia. Dan terdapat fungsi tambahan untuk memandu

public class Siji extends Ren {
    public void kai() {
        System.out.println("会开车");
    }}
Salin selepas log masuk

Ujian: Buat atribut output objek pemacu lama dan panggil kaedah.

public class Test {
    public static void main(String[] args) {
        Siji b = new Siji();
        System.out.println(b.jiao);
        System.out.println(b.shou);
        System.out.println(b.yan);
        b.chi();
        b.he();
        b.kai();
    }}
Salin selepas log masuk

Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?

Kaedah penulisan semula, terlebih beban

Liputan penulisan semula: nama kaedah, jenis pulangan, parameter formal semuanya sama . Jika ini berlaku, ia mestilah hubungan warisan.
Terlebih muatan: Kaedah dengan nama kaedah yang sama, jenis pulangan, bilangan parameter formal dan jenis yang berbeza tidak semestinya perhubungan warisan Mereka boleh berada dalam kelas yang sama, seperti pembina terlebih muatan

Tulis Semula

Oleh kerana subkelas tidak berpuas hati dengan kaedah kelas induk dan ingin mengubahnya, inilah cara subkelas mengatasi kaedah kelas induk.
Sebagai contoh, seseorang boleh makan dan minum, tetapi pemandu veteran itu tidak menyukai fungsinya makan, dan mahu menukarnya untuk makan tahi.

Kodnya adalah seperti berikut:

Pemandu lama menulis semula kaedah chi() manusia
Nama kaedah mestilah sama

< . a class Terdapat dua kaedah dengan nama yang sama, tetapi jenis nilai pulangannya, jenis parameter dan bilangan parameter adalah berbeza.
public class Siji extends Ren {
    public void kai() {
        System.out.println("会开车");
    }

    public void chi() {
        System.out.println("会吃屎");
    }}
Salin selepas log masuk
Hanya satu daripada jenis nilai pulangan, jenis parameter dan bilangan parameter kedua-dua kaedah adalah berbeza. Tetapi nama kaedah mereka adalah sama, jadi kedua-dua kaedah terlebih beban.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan warisan, kaedah pembina, kaedah overriding dan overloading dalam JAVA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan