Overload (metode pemilihan muat ulang):
Java memungkinkan beberapa metode di kelas untuk memiliki nama yang sama, tetapi ketika nama -nama itu sama, parameter yang berbeda harus dimasukkan. , Kesalahan waktu kompilasi akan terjadi tanpa parameter yang cocok atau menemukan beberapa kecocokan yang mungkin.
Overloading meliputi: kelebihan metode biasa dan kelebihan metode konstruktor
Metode: Artinya, suatu fungsi (yang secara kolektif kita sebut dalam teks "metode"), adalah segmen program tetap, atau subrutin, yang dapat mewujudkan fungsi operasi tetap. Selain itu, ia juga memiliki pintu masuk dan keluar. Disebut keluar berarti fungsi.
Secara umum, suatu kelas dapat memiliki beberapa metode kelebihan beban, dan metode kelebihan beban yang berbeda di kelas dapat dirancang sesuai dengan kebutuhan yang berbeda. Di antara mereka, jumlah parameter, jenis, dan bahkan urutan jenis parameter yang berbeda adalah kelebihan beban yang berbeda untuk metode yang sama. Misalnya, seperti yang ditunjukkan pada gambar, kelas string yang sering kita lihat adalah contoh khas.
PS Contoh ini juga memperbaiki kesalahan konyol yang saya buat ketika saya berbagi pengalaman saya terakhir kali. Periksa judulnya lagi, itu berarti benar, itu adalah kelebihan beban, dan tidak ditulis sebagai penulisan ulang.
Metode/langkah
Pertama, mari kita tulis contoh lengkap. Ini adalah metode yang paling primitif, seperti yang ditunjukkan pada gambar. Kami akan terus mempelajari setiap langkah di masa depan dan memuat ulang metode ini lapisan demi lapis.
1. Pada awalnya, mari kita bahas apakah pengubah akses berdampak pada diskusi hari ini. Artinya, mereka bukanlah kondisi yang diperlukan untuk membentuk metode yang berbeda. Dalam istilah Layman, perbedaan dalam metode tidak ada hubungannya dengan apakah pengubah akses konsisten. Seperti yang ditunjukkan pada gambar, jika pengubah akses tidak konsisten dan parameternya sama (atau tidak satu pun dari mereka memiliki parameter), Java default kepada mereka sebagai metode yang sama, sehingga kompilasi tidak dapat dilewati dan kesalahan dilaporkan.
2. Setelah tidak termasuk pengubah akses, mari kita bahas apakah perbedaan nilai pengembalian bisa menjadi cara overloading lain di sini, kami akan memberikan tiga contoh sederhana, yaitu nilai pengembalian kosong dan nilai pengembalian adalah dua metode int int int int int int Ketik.
3. Satu -satunya perbedaan selanjutnya adalah parameter. Mari kita berlatih sesuai dengan situasi. Yang pertama adalah parameter yang berbeda.
4. Pada langkah ketiga, kita berbicara tentang parameter yang berbeda. Seperti yang ditunjukkan pada gambar, jenis parameternya sama, dan keduanya adalah tipe integer, tetapi nama parameter formal berbeda, sehingga kompilasi tidak dapat dilewati.
5. Juga, kelebihan beban yang disebabkan oleh parameter yang berbeda. Kita dapat menulis contoh lain, 1 metode tanpa parameter, 1 metode parameter int, dan dua metode parameter int, seperti yang ditunjukkan pada gambar:
6. Saat ini, kami telah mencapai tautan kunci. Apakah ada jenis kelebihan yang berbeda? beberapa! Bayangkan parameternya berbeda dan angkanya sama. Ya! Menduga Benar dengan Benar! Pesanannya berbeda! Dalam pesanan yang berbeda, masih ada metode yang berbeda, yang juga memungkinkan kelebihan beban. Seperti yang ditunjukkan pada gambar:
Ini contoh sederhana lainnya
int sum (int m, int n) {return m +n;} int sum (int m, int n, int k) {return m +n +k;} jumlah ganda (double m, double n) {return m + n;} jumlah ganda (double m, double n, double k) {return m+n+k;} Implementasi utama adalah jumlah metode yang kelebihan beban, yang memiliki semantik berikut:
SUM (M, N): Temukan jumlah bilangan bulat m dan n,
SUM (M, N, K): Temukan jumlah bilangan bulat m, n dan k,
SUM (M, N): Temukan jumlah bilangan real m dan n,
SUM (M, N, K): Temukan jumlah bilangan real m, n dan k.
Akhirnya, mari kita merangkum bahwa kelebihan beban hanya peduli dengan parameter.