วิธีการโอเวอร์โหลด
วิธีการสูงสุดที่ใช้ข้างต้นใช้กับข้อมูลประเภท int เท่านั้น แต่ถ้าคุณต้องการได้รับค่าสูงสุดของข้อมูลจุดลอยตัวสองประเภทล่ะ
วิธีแก้ไขคือสร้างวิธีอื่นด้วยชื่อเดียวกันแต่มีพารามิเตอร์ต่างกัน ดังแสดงในโค้ดต่อไปนี้:
สาธารณะคงที่สูงสุดสองเท่า (double num1, double num2) { if (num1 > num2) return num1;
หากคุณส่งพารามิเตอร์ int เมื่อเรียกใช้เมธอด max เมธอด max ของพารามิเตอร์ int จะถูกเรียก
ถ้าพารามิเตอร์คู่ถูกส่งผ่าน จะมีการเรียกเนื้อความเมธอดสูงสุดประเภทคู่ ซึ่งเรียกว่าการโอเวอร์โหลดเมธอด
นั่นคือสองวิธีของคลาสมีชื่อเหมือนกัน แต่มีรายการพารามิเตอร์ต่างกัน
คอมไพเลอร์ Java กำหนดว่าควรเรียกใช้เมธอดใดโดยพิจารณาจากลายเซ็นของเมธอด
วิธีการโอเวอร์โหลดสามารถทำให้โปรแกรมชัดเจนและอ่านง่ายขึ้น วิธีการที่ทำงานที่เกี่ยวข้องกันอย่างใกล้ชิดควรใช้ชื่อเดียวกัน
วิธีการโอเวอร์โหลดต้องมีรายการพารามิเตอร์ที่แตกต่างกัน คุณไม่สามารถโอเวอร์โหลดเมธอดโดยยึดตามตัวดัดแปลงหรือประเภทการส่งคืนเพียงอย่างเดียว
ขอบเขตตัวแปร
ขอบเขตของตัวแปรคือส่วนของโปรแกรมที่สามารถอ้างอิงตัวแปรได้
ตัวแปรที่กำหนดภายในวิธีการเรียกว่าตัวแปรท้องถิ่น
ขอบเขตของตัวแปรโลคัลเริ่มต้นจากเวลาที่มีการประกาศและสิ้นสุดที่ส่วนท้ายของบล็อกที่มีตัวแปรนั้น
ต้องประกาศตัวแปรท้องถิ่นก่อนจึงจะสามารถใช้งานได้
ขอบเขตพารามิเตอร์ของวิธีการครอบคลุมวิธีการทั้งหมด จริงๆ แล้วพารามิเตอร์นี้เป็นตัวแปรท้องถิ่น
ตัวแปรที่ประกาศในส่วนการเริ่มต้นของ for loop มีขอบเขตตลอดทั้งลูป
แต่ขอบเขตของการประยุกต์ใช้ตัวแปรที่ประกาศไว้ในเนื้อความของลูปนั้นมาจากการประกาศจนถึงจุดสิ้นสุดของเนื้อความของลูป ประกอบด้วยการประกาศตัวแปรตามที่แสดงด้านล่าง:
คุณสามารถประกาศตัวแปรโลคัลด้วยชื่อเดียวกันได้หลายครั้งภายในเมธอด ในบล็อกที่ไม่ซ้อนกันที่แตกต่างกัน แต่คุณไม่สามารถประกาศตัวแปรโลคัลสองครั้งภายในบล็อกที่ซ้อนกันได้