Berbicara tentang kelebihan beban dan timpa di Java, semua orang akrab dengannya, tetapi saya akan menulis ini hari ini.
Topik artikel ini:
1. Apa yang berlebihan
2. Apa itu Cakupan
3. Perbedaan antara keduanya
Kelebihan muatan:
Di kelas, jika dua atau lebih fungsi dengan nama yang sama muncul, selama jumlah parameter atau jenis parameter berbeda, itu dapat disebut kelebihan fungsi.
Artinya, ketika fungsi memiliki nama yang sama, hanya melihat daftar parameter. Ini tidak ada hubungannya dengan tipe nilai pengembalian.
Perhatikan saat menggunakan kelebihan:
1. Saat menggunakan kelebihan beban, Anda hanya dapat melewati gaya parameter yang berbeda. Misalnya, jenis parameter yang berbeda, angka parameter yang berbeda, dan urutan parameter yang berbeda.
2. Jenis pengecualian dan jumlah metode tidak akan mempengaruhi kelebihan beban.
3. Untuk kelas induk, kelas anak dapat membebani metode dengan nama yang sama dengan metode warisan di kelas induk. Jika suatu metode memiliki izin akses di kelas induk dan priavte, maka itu tidak dapat kelebihan beban di kelas anak. Jika didefinisikan, itu hanya akan menentukan metode baru dan tidak akan mencapai efek kelebihan beban.
Mengesampingkan:
Ketika metode yang persis sama muncul di kelas induk anak, membuat objek subclass akan menjalankan metode dalam subkelas. Sepertinya metode dalam kelas induk ditimpa. Jadi situasi ini adalah fitur lain dari fungsi: Onchriting.
Kapan menggunakan cakupan?
Ketika kelas anak mewarisi kelas induk, konten fungsional kelas induk perlu dimodifikasi, itu dapat diimplementasikan melalui overrides
Saat meliput metode ini, perhatikan dua poin:
1. Ketika subclass menimpa kelas induk, perlu untuk memastikan bahwa izin dari metode subkelas harus lebih besar dari atau sama dengan izin metode kelas induk untuk mencapai pewarisan. Jika tidak, kompilasi gagal.
2. Ketika tertutup, baik statis atau tidak statis. (Statis hanya dapat menutupi statis, atau ditutupi oleh statis) Ya
3. Metode final yang dimodifikasi adalah metode akhir dan tidak dapat ditimpa.
4. Ketika kelas anak mengesampingkan metode kelas orang tua, ia hanya dapat melemparkan lebih sedikit pengecualian daripada kelas induk, atau melemparkan pengecualian anak dari pengecualian yang dilemparkan oleh kelas orang tua, karena kelas anak dapat memecahkan beberapa masalah kelas orang tua dan tidak dapat memiliki lebih banyak masalah daripada kelas orang tua.
Perbedaan antara kelebihan beban dan timpa:
1. Override dari suatu metode adalah hubungan antara subkelas dan kelas induk, yang merupakan hubungan vertikal; Kelebihan metode adalah hubungan antara metode di kelas yang sama, yang merupakan hubungan horizontal.
2. Timpa hanya dapat disebabkan oleh satu metode, atau hanya dengan sepasang metode; Kelebihan metode adalah hubungan antara beberapa metode.
3. Daftar Parameter Persyaratan Cakupan adalah sama; Daftar parameter persyaratan kelebihan beban berbeda.
4. Dalam hubungan yang menimpa, badan metode disebut berdasarkan jenis objek; Hubungan kelebihan beban dipilih berdasarkan tabel parameter aktual dan tabel parameter formal pada saat panggilan.
Di atas adalah pemahaman mendalam tentang kelebihan beban dan cakupan Java yang dibawa kepada Anda oleh editor. Saya harap semua orang dapat mendukung wulin.com lebih banyak ~