"Hello, Amigo! Saya akan memberitahu anda tentang kaedah terlebih beban ."

"Anda boleh membebankan mereka juga?! Apa hari!"

"Anda boleh melakukan banyak perkara dengan mereka, tetapi kami tidak akan melakukannya sekarang."

"Ia adalah perjanjian."

"Pembebanan berlebihan ialah operasi yang sangat mudah. ​​Sebenarnya, ia bukan juga operasi pada kaedah, walaupun kadangkala ia dirujuk dengan nama yang menakutkan: polimorfisme parametrik ."

Perkara yang anda mesti ingat ialah setiap kaedah dalam kelas mesti mempunyai nama yang unik.

"Ya saya tahu."

"Nah, itu tidak sepenuhnya benar. Maksud saya, ia sama sekali tidak benar. Sesuatu kaedah tidak semestinya mempunyai nama yang unik. Apa yang mesti unik ialah gabungan nama kaedah dan jenis parameternya . Gabungan ini juga dikenali sebagai tandatangan kaedah."

Kod Komen
public void print();
public void print2();
Ini dibenarkan. Kedua-dua kaedah mempunyai nama yang unik.
public void print();
public void print(int n);
Dan ini juga dibenarkan. Kedua-dua kaedah mempunyai nama unik (tandatangan).
public void print(int n, int n2);
public void print(int n);
Nama kaedah masih unik di sini.
public int print(int a);
public void print(int n);
Tetapi ini tidak dibenarkan. Kaedahnya tidak unik, walaupun pelbagai jenis sedang diluluskan.
public int print(int a, long b);
public long print(long b, int a);
Tetapi ini dibenarkan. Parameter kaedah adalah unik.

"Saya sudah melihatnya di suatu tempat."

"Ya. Apabila anda menaip " System.out.println ", IntelliJ IDEA mencadangkan beberapa dozen versi kaedah cetakan yang menggunakan parameter berbeza. Pengkompil hanya mengenal pasti dan kemudian memanggil kaedah yang diperlukan berdasarkan jenis parameter yang anda lalui."

"Itu tidak begitu sukar. Tetapi ia bukan polimorfisme."

"Atau lebih tepat, ia bukan kaedah mengatasi."

Dengan cara ini, saya ingin menunjukkan bahawa nama parameter adalah tidak relevan. Mereka hilang semasa penyusunan. Setelah kaedah dipatuhi, hanya nama dan jenis parameternya diketahui.