java pass by value pass by reference ต่างกันยังไง  สร้างคำถาม

 3,551 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 29/08/2011

java pass by value pass by reference ต่างกันยังไง

จะว่าไปเรื่องของการ pass by value หรือ pass by reference นั้น
มีการพูดถึงกันอยู่พอสมควร
บ้างก็บอกว่า Java ไม่มี pass by reference บ้างก็บอกว่ามี

จากที่ผมเข้าใจในความคิดของผมเองนะครับ
เนื่องจากว่า Java เป็นภาษาเชิงวัตถุที่ไม่ได้ 100% นักเนื่องจากมี
primitive data type คือตัวแปรที่ภาษาอื่นๆ มีักันทั่วไป
ถ้า Scope แค่ primitive data type ในภาษา Java นั้น Pass By Value อย่างเดียวครับไม่มี pass by reference

แต่เนื่องจาก java เป็นภาษาเชิง Object แน่นอนตัวแปรที่เป็น Object ย่อมมีการเรียกใช้งานและส่งผ่าน Parameter กันไป
ซึ่งการส่งผ่านตัวแปรประเภทนี้จะเป็นการอ้างอิงที่ Reference ครับ
ทำให้มองเหมือนเป็น Pass By Reference

สรุป ในภาษา Java เอาแบบที่เข้าใจง่ายๆ ก็คือ
Primitive Data Type : Pass By Value เท่านั้น
Object Variable : Pass By Reference เท่านั้น
.... ยกเว้น String เห่อๆ งง ดีแท้

* เพระงั้นถ้าอยากจะส่งตัวเลขทีเ่ป็น Primitive แล้วอยากให้ทำงานแบบ Pass By Reference ก็จับยัดใส่ Object แล้วส่งไปนะคร้าบ


ถ้าชอบบทความนี้ กด Like เลย :java pass by value pass by reference ต่างกันยังไง

 3,551 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 29/08/2011



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่




× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  อยากแทรก iframe เข้าไปใน flex ของ script ด้วยครับ ถามเมื่อ (2013-04-24)   4,697 views  (ดูล่าสุดเมื่อ 12 นาที)

  Full Stack JavaScript คืออะไร ถามเมื่อ (2020-01-24)   3,194 views  (ดูล่าสุดเมื่อ 25 นาที)

  ทำไม HashMap มัน Loop Key ออกมามั่วๆ ถามเมื่อ (2012-05-16)   3,121 views  (ดูล่าสุดเมื่อ 34 นาที)

  inode บน unix คืออะไร ถามเมื่อ (2020-02-04)   3,597 views  (ดูล่าสุดเมื่อ 35 นาที)

  เขียน PL SQL อ่าน ไฟล์ ยังไงครับ อยากรู้วิธีเขียน PL ให้อ่านไฟล์ใน Folder ถามเมื่อ (2012-05-16)   2,613 views  (ดูล่าสุดเมื่อ 36 นาที)

  การจัดการ Transaction บน Hibernate ถามเมื่อ (2012-05-16)   3,389 views  (ดูล่าสุดเมื่อ 37 นาที)

  HTTP Request แบบ POST รับได้มากสุดกี่ตัว ถามเมื่อ (2016-07-27)   2,006 views  (ดูล่าสุดเมื่อ 37 นาที)

  Oracle EXISTS select where โดยใช้ EXISTS เพื่อ Query เร็วขึ้น ถามเมื่อ (2017-03-03)   3,704 views  (ดูล่าสุดเมื่อ 37 นาที)

  ขอตัวอย่างการเขียน Query ใน Hibernate ด้วยครับ ถามเมื่อ (2012-05-16)   2,895 views  (ดูล่าสุดเมื่อ 38 นาที)

  ลบ ไฟล์ SThumbDB tdb ที่อยู่ใน MEMORY CARD ของโทรศัพท์ samsung ไม่ได้ครับ ช่วยบอกวิธี ลบ ที ครับ ถามเมื่อ (2011-08-04)   4,817 views  (ดูล่าสุดเมื่อ 51 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com