วิธีการส่งผ่านการอ้างอิงใน Java

Withi Kar Sng Phan Kar Xangxing Ni Java



ในขณะที่ต้องจัดการกับการคำนวณทางคณิตศาสตร์ใน Java อาจมีบางกรณีที่ผู้พัฒนาจำเป็นต้องใช้ฟังก์ชันเฉพาะกับค่าหลายค่า สำหรับสิ่งนั้น โปรแกรมเมอร์จำเป็นต้องจัดสรรฟังก์ชันแยกต่างหากและดำเนินการตามฟังก์ชันที่ต้องการในนั้น จากนั้นค่าจะถูกส่งผ่านไปยังฟังก์ชันนี้ อัปเดต และส่งคืนตามนั้น ในกรณีดังกล่าว การส่งผ่านการอ้างอิงใน Java จะช่วยได้มากในการผนวกฟังก์ชันการทำงานที่เหมือนกันด้วยค่าเดียวกัน

บล็อกนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีการส่งผ่านการอ้างอิงใน Java







“ Pass by Reference” ใน Java คืออะไร

การส่งโดยการอ้างอิงใน Java หมายความว่าเมื่อมีการเรียกเมธอด อาร์กิวเมนต์เมธอดจะอ้างถึงตัวแปรเดียวกันในหน่วยความจำเป็นผู้เรียกใช้



จะ 'ผ่านการอ้างอิง' ใน Java ได้อย่างไร

หากต้องการผ่านการอ้างอิงใน Java ให้พิจารณาแนวทางต่อไปนี้:



ตัวอย่างที่ 1: ส่งผ่านการอ้างอิงใน Java โดยส่งคืนค่าที่อัปเดต

ในตัวอย่างนี้ จำนวนเต็มเริ่มต้นสามารถส่งผ่านเป็นอาร์กิวเมนต์ของฟังก์ชันซึ่งเพิ่มขึ้นในฟังก์ชันและส่งกลับ:





นานาชาติ หมายเลขที่กำหนด = 2 ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่กำหนดคือ: ' + หมายเลขที่กำหนด ) ;

หมายเลขที่กำหนด = เพิ่มขึ้น ( หมายเลขที่กำหนด ) ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่อัปเดตคือ: ' + หมายเลขที่กำหนด ) ;

สาธารณะ คงที่ นานาชาติ เพิ่มขึ้น ( นานาชาติ อัพเดทหมายเลข ) {

อัพเดทหมายเลข ++;

กลับ อัพเดทหมายเลข ;

}

ในบรรทัดโค้ดด้านบน:

  • ขั้นแรก ให้เริ่มต้นค่าจำนวนเต็มและแสดงผล
  • ในขั้นตอนถัดไป ให้เรียกใช้ฟังก์ชัน “ เพิ่มขึ้น () ” โดยส่งจำนวนเต็มเป็นอาร์กิวเมนต์และแสดงจำนวนที่เพิ่มขึ้น
  • สุดท้าย กำหนดฟังก์ชั่นชื่อ “ เพิ่มขึ้น () ” มีพารามิเตอร์ที่ระบุซึ่งจำเป็นต้องเพิ่มขึ้น
  • ในนิยามของฟังก์ชัน ให้เพิ่มจำนวนที่ส่งผ่านแล้วส่งคืน

เอาต์พุต



ในเอาต์พุตนี้ จะเห็นได้ว่าหมายเลขเริ่มต้นจะถูกส่งผ่าน เพิ่ม และส่งคืน

ตัวอย่างที่ 2: ผ่านการอ้างอิงใน Java โดยการส่งคืนองค์ประกอบอาร์เรย์ที่เพิ่มขึ้น

ตอนนี้เพิ่มรหัสต่อไปนี้:

นานาชาติ กำหนดให้อาร์เรย์ [ ] = { 2 , 3 , 4 } ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่กำหนดคือ: ' + กำหนดให้อาร์เรย์ [ 1 ] ) ;

เพิ่มขึ้น ( กำหนดให้อาร์เรย์ ) ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่อัปเดตคือ: ' + กำหนดให้อาร์เรย์ [ 1 ] ) ;

}

สาธารณะ คงที่ เป็นโมฆะ เพิ่มขึ้น ( นานาชาติ เพิ่มขึ้น [ ] ) {

เพิ่มขึ้น [ 1 ] ++;

}

ที่นี่:

  • ประการแรก ประกาศอาร์เรย์ชื่อ “ กำหนดให้อาร์เรย์[ ] ” ที่มีค่าจำนวนเต็ม
  • หลังจากนั้น แสดงค่าอาร์เรย์ที่จัดทำดัชนี
  • ตอนนี้ ให้ส่งค่าอาร์เรย์เป็นอาร์กิวเมนต์ของฟังก์ชัน และในทำนองเดียวกัน ให้แสดงจำนวนเต็มที่เพิ่มขึ้นบนคอนโซล
  • สุดท้ายประกาศฟังก์ชันในทำนองเดียวกัน “ เพิ่มขึ้น () ” มีพารามิเตอร์ชี้ไปที่ค่าอาร์เรย์ที่จะเพิ่มขึ้น
  • ในนิยามของฟังก์ชัน เพิ่มค่าที่ส่งผ่านและส่งกลับ

เอาต์พุต

จากผลลัพธ์ข้างต้น สังเกตได้ว่าค่าเริ่มต้นจะถูกส่งผ่านและเพิ่มขึ้นตามนั้น

ตัวอย่างที่ 3: ส่งผ่านการอ้างอิงใน Java โดยการอัปเดตตัวแปรสมาชิกสาธารณะในคลาส

ในการสาธิตนี้ ตัวแปรคลาสสามารถเรียกใช้และเพิ่มค่าได้โดยอ้างอิงถึงคลาสอ็อบเจกต์:

ระดับ คลาสที่กำหนดเอง {

สาธารณะ นานาชาติ หมายเลขที่กำหนด ;

สาธารณะ คลาสที่กำหนดเอง ( ) {

หมายเลขที่กำหนด = 2 ;

} }

สาธารณะ ระดับ ตัวอย่าง {

สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง หาเรื่อง [ ] ) {

วัตถุคลาสที่กำหนดเอง = ใหม่ คลาสที่กำหนดเอง ( ) ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่กำหนดคือ: ' + วัตถุ. หมายเลขที่กำหนด ) ;

เพิ่มขึ้น ( วัตถุ ) ;

ระบบ . ออก . พิมพ์ ( 'หมายเลขที่อัปเดตคือ: ' + วัตถุ. หมายเลขที่กำหนด ) ;

}

สาธารณะ คงที่ เป็นโมฆะ เพิ่มขึ้น ( คลาสที่กำหนดเอง obj ) {

คัดค้าน หมายเลขที่กำหนด ++;

}

}

ในบล็อกรหัสด้านบน:

  • กำหนดคลาสชื่อ “ คลาสที่กำหนดเอง '. ระบุตัวแปรสาธารณะภายในคลาสด้วย
  • ในขั้นตอนถัดไป สร้างตัวสร้างคลาส “ คลาสที่กำหนดเอง () ” และเริ่มต้นจำนวนเต็มที่ระบุภายในนั้น
  • หลังจากนั้น สร้าง object ของ class ที่สร้างขึ้นชื่อ “ วัตถุ ” ผ่านทาง “ ใหม่ ” คำหลักและ “ คลาสที่กำหนดเอง () ” ตัวสร้างตามลำดับ
  • ตอนนี้แสดงจำนวนเต็มเริ่มต้นโดยอ้างถึงวัตถุคลา
  • เรียกใช้ฟังก์ชัน “ เพิ่มขึ้น () ” และส่งวัตถุที่สร้างขึ้นเพื่อใช้ฟังก์ชันของฟังก์ชันกับคลาส
  • สุดท้ายประกาศฟังก์ชัน “ เพิ่มขึ้น () ” และเพิ่มจำนวนเต็มเริ่มต้นโดยอ้างถึงวัตถุคลาส

เอาต์พุต

ผลลัพธ์ข้างต้นแสดงว่าความต้องการที่ต้องการได้รับการตอบสนองแล้ว

บทสรุป

หากต้องการส่งผ่านการอ้างอิงใน Java ให้ส่งคืนค่าที่อัปเดต ส่งคืนองค์ประกอบอาร์เรย์ที่เพิ่มขึ้น หรืออัปเดตตัวแปรสาธารณะในคลาส วิธีการเหล่านี้ดำเนินการตามฟังก์ชันที่ต้องการโดยส่งจำนวนเต็ม องค์ประกอบอาร์เรย์ หรือวัตถุคลาสเป็นอาร์กิวเมนต์ของฟังก์ชัน และเพิ่มค่าเริ่มต้นตามลำดับ บล็อกนี้ระบุวิธีการส่งผ่านการอ้างอิงใน Java