วิธีการโอเวอร์โหลดเมธอดหมายความว่าหลายวิธีที่มีชื่อเดียวกัน แต่สามารถกำหนดพารามิเตอร์ที่แตกต่างกันในคลาส เมื่อเรียกว่าวิธีการที่สอดคล้องกันจะถูกเลือกตามตารางพารามิเตอร์ที่ไม่ได้ใช้
ตัวอย่างเช่น
การทดสอบระดับสาธารณะ {void max (int a, int b) {system.out.println (a> b? a: b); } void max (double a, double b) {system.out.println (a> b? a: b); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ทดสอบ t = การทดสอบใหม่ (); T.Max (3,4); T.Max (3.0,4.4); -ผลลัพธ์คือ:
4 4.4
ตัวสร้างยังสามารถใช้งานได้มากเกินไป
ลองมาดูตัวอย่างอื่น
ชั้น Chongzai {public void a (int a); โมฆะสาธารณะ A (Strting A); โมฆะสาธารณะ A (int a, int b);} ดังที่ได้กล่าวไว้ข้างต้นมันเป็นโอเวอร์โหลดและการโอเวอร์โหลดจะต้องเป็นไปตามเงื่อนไขต่อไปนี้:
1. ต้องเป็นคลาสเดียวกัน
2. ชื่อวิธี (สามารถเรียกได้ว่าเป็นฟังก์ชัน)
3. ประเภทพารามิเตอร์แตกต่างกันหรือจำนวนพารามิเตอร์แตกต่างกัน
ในเวลาเดียวกันฉันจะบอก LZ เกี่ยวกับฟังก์ชั่นของการโอเวอร์โหลด มาพูดถึงตัวอย่างข้างต้น
Chongzai CZ = New Chongzai (); Cz.a (1); // โทร A (int a); cz.a ("พารามิเตอร์ที่ผ่าน"); // โทร A (สตริง a) cz.a (1,2); // โทร A (int a, int b)ข้างต้นได้กล่าวถึงวิธีการโทร วิธีการนี้ใช้โดยโปรแกรมเพื่อกำหนดวิธีการโทรตามพารามิเตอร์ที่คุณป้อน
มาพูดคุยเกี่ยวกับฟังก์ชั่นของการโอเวอร์โหลดตัวอย่างเช่นหากคุณสร้างเกมคุณอาจมีหลายคนที่จบเกม หากจำนวนคนไม่แน่ใจว่ามีกี่คนคุณสามารถใช้การโอเวอร์โหลดได้
ตัวอย่างเช่นมากที่สุด 3 คนคุณสามารถกำหนดพารามิเตอร์ 3 ตัว
โมฆะสาธารณะ A (String A); โมฆะสาธารณะ A (String A, String B); โมฆะสาธารณะ A (String A, String B, String C);
สองคนจากนั้นคุณเรียกวิธีการด้วยพารามิเตอร์ 2 พาราม