1. Metode Overloading
Nama metode sama, tetapi parameternya berbeda, ini kelebihan beban.
Yang disebut parameter yang berbeda memiliki dua poin utama: yang pertama adalah bahwa jumlah parameter berbeda, dan yang kedua adalah bahwa jenis parameter berbeda. Selama salah satu dari dua aspek ini berbeda, itu dapat merupakan kelebihan metode.
paket cn.galc.test; kelas publik testoverload {void max (int a, int b) {system.out.println (a> b? a: b); } / * * int max (int a, int b) { * return a> b? A: B; *} */ void max (float a, float b) {system.out.println (a> b? a: b); }}Di sini, dua metode Max dengan void Modifier memiliki nama yang sama, tetapi jenis parameternya berbeda, sehingga mereka dapat menjadi kelebihan beban. Metode int max (int a, int b) dan metode void max (int a, int b) tidak merupakan kelebihan beban. Sekarang mereka adalah dua metode dengan nama duplikat. Menyatakan dua metode dengan nama duplikat di kelas tidak diizinkan, dan akan ada kesalahan dalam kompilasi. Nama metode adalah sama dan jenis parameternya sama. Hanya nilai pengembalian yang berbeda. Ini bukan merupakan kelebihan beban, karena metode ini dapat dipanggil dengan cara ini. Itu tidak dapat digunakan saat memanggil metode. Oleh karena itu, ketika memanggil kedua metode ini, nomor integer dilewatkan. Karena kedua metode memiliki nama yang sama dan jenis parameter yang sama, kompiler tidak dapat membedakan metode mana yang harus dipanggil. Alasan tingkat kelebihan beban yang dalam: selama kompiler dari kedua metode ini dapat membedakannya dan mengetahui mana yang akan dipanggil saat menelepon, tidak akan ada kebingungan, kedua metode ini merupakan kelebihan beban.
Mari kita lihat dua metode berikut:
int max (int a, int b) {System.out.println ("Metode int max (int a, int b) disebut"); mengembalikan A> B? A: b;} int max (pendek a, pendek b) {System.out.println ("Metode int max (pendek a, pendek b) disebut"); mengembalikan A> B? A: b;} Kedua metode ini juga dapat merupakan kelebihan beban, karena kompiler akan memperlakukannya sebagai tipe int segera setelah ia melihat bilangan bulat. Jadi saat melewati integer, kompiler pertama memanggil metode max (int a, int b). Jika Anda ingin memanggil metode Max (pendek A, Short B), Anda harus menulisnya di metode utama seperti ini:
public static void main (string [] args) {testoverload t = new testoverload (); t.max (3,4); // Metode maks (int a, int b) disebut pendek a = 3; b = 4; t.max (a, b); // Metode maks (pendek A, pendek b) disebut di sini. }2. Kelebihan metode konstruksi
Seperti metode biasa, konstruktor juga dapat kelebihan beban
paket cn.galc.test; orang kelas publik {int id; usia int; / *** konstruktor*/ orang publik () {id = 0; usia = 20; } / *** konstruktor kelebihan satu* @param i* / orang publik (int i) {id = i; usia = 20; } / ** * konstruktor kelebihan dua * @param i * @param j * / orang publik (int i, int j) {id = i; usia = j; }}Di atas adalah penjelasan terperinci tentang kelebihan metode Java. Saya berharap ini akan membantu untuk pembelajaran semua orang.