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

 3,474 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,474 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 29/08/2011



SOA,Java,XSLT

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




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

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

  วิธี bypass certificate https client และ Webservice client axis ถามเมื่อ (2017-06-01)   3,314 views  (ดูล่าสุดเมื่อ 2 นาที)

  คำสั่งเช็ค Version Oracle ด้วย SQL Command ถามเมื่อ (2012-09-18)   4,926 views  (ดูล่าสุดเมื่อ 4 นาที)

  hashmap กับ hashing เหมือนกันป่ะคะ ถามเมื่อ (2015-09-25)   2,210 views  (ดูล่าสุดเมื่อ 5 นาที)

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

  Spring Boot คืออะไร ต่างจาก Spring Framework ยังไง ถามเมื่อ (2018-12-21)   5,930 views  (ดูล่าสุดเมื่อ 5 นาที)

  Angular JS กับนิยามคำว่า MVC ถามเมื่อ (2017-05-23)   1,791 views  (ดูล่าสุดเมื่อ 6 นาที)

  Jquery ตัวอย่าง การจับตำแหน่ง scrollTop เพื่อ Load Data เพิ่มเมื่อเลื่อนจนถึงล่างสุด ถามเมื่อ (2019-05-29)   3,033 views  (ดูล่าสุดเมื่อ 6 นาที)

  ปัดทศนิยม ใน PL SQL Function CEIL FLOOR ROUND ต่างกันยังไง ถามเมื่อ (2011-07-26)   7,803 views  (ดูล่าสุดเมื่อ 6 นาที)

  Error 500 วิธีแก้ Error 500 in servlet is an Internal Server Error ถามเมื่อ (2016-08-31)   3,352 views  (ดูล่าสุดเมื่อ 7 นาที)

  Oracle select join มากกว่า 2 table ถามเมื่อ (2017-03-03)   2,176 views  (ดูล่าสุดเมื่อ 7 นาที)


 

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