Pass by Value และ Pass by Reference ใน Java



บล็อกนี้ช่วยให้คุณเข้าใจ Pass by Value และ Pass by Reference ใน Java นอกจากนี้ยังอธิบายว่าเหตุใด Java จึงเรียกว่า Pass by Value ด้วยตัวอย่าง

Java เป็นหนึ่งในภาษาโปรแกรมพื้นฐานที่ทุกคนสามารถเลือกใช้ได้ มันง่ายมากในเวลาเดียวกันความเป็นไปได้ของสิ่งที่คุณสามารถพัฒนาโดยใช้ Java นั้นไม่มีที่สิ้นสุด!นี่คือสิ่งที่ทำให้ Java เป็นภาษาที่ใช้กันอย่างแพร่หลายในอุตสาหกรรมปัจจุบันบล็อกนี้จะช่วยให้คุณเข้าใจเกี่ยวกับ pass by value และ pass by reference ใน Java ตามลำดับต่อไปนี้:

Pass by Value และ Pass by Reference ใน Java

Pass by Value และ Pass by reference เป็นสองวิธีที่เราสามารถส่งผ่านค่าไปยังตัวแปรในฟังก์ชัน





  • ผ่านค่า: เป็นกระบวนการที่มีการคัดลอกค่าพารามิเตอร์ของฟังก์ชันไปยังตัวแปรอื่นและส่งผ่านวัตถุนี้แทน สิ่งนี้เรียกว่า call by Value

    ผสานโปรแกรมการเรียงลำดับใน java
  • ผ่านการอ้างอิง: เป็นกระบวนการที่สำเนาการอ้างอิงจริงถูกส่งผ่านไปยังฟังก์ชัน สิ่งนี้เรียกโดย Reference



เมื่อพูดถึง Java เราสามารถพูดได้ว่า Java เป็น Pass by Value และไม่ผ่านการอ้างอิง

เราจะแสดงข้อความที่ยกมาโดยการเขียนโปรแกรม

ภาพประกอบพร้อมโปรแกรม

สมมติว่าเรามีคลาส รถยนต์ เช่นด้านล่าง



รถสาธารณะ {private String color public Car () {} public Car (String a) {this.color = a} public String getColor () {return color public void setColor (String color) {this.color = color}

ต่อไปเรามีโปรแกรมที่แลกเปลี่ยนสองวัตถุ

คลาสสาธารณะ Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (red, yellow) System.out.println ('สีแดง = '+ red.getColor ()) System.out.println (' สีเหลือง = '+ yellow.getColor ()) desc (สีเหลือง) System.out.println (' สีเหลือง = '+ yellow.getColor ())} desc โมฆะคงที่ส่วนตัว (รถยนต์) {// car = 100 balloon.setColor ('Red') // car = 100 car = new car ('Green') // car = 200 car.setColor ('Yellow') / / car = 200} // swap method public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

เอาต์พุต

สีแดง = สีแดง

สีเหลือง = สีเหลือง

การตั้งค่า eclipse สำหรับ java

สีเหลือง = สีแดง

คำอธิบาย:

ดังที่ฉันได้บอกไปก่อนหน้านี้ว่า JAVA ถูกส่งผ่านโดย Value ดังนั้นเราจะเห็นว่าสองบรรทัดแรกในเอาต์พุตวิธี swap () ไม่ได้ผล มาอธิบายโค้ดอย่างละเอียดกัน

ส่งผ่านค่าและส่งผ่านโดยการอ้างอิงใน Java

ขั้นแรกเราสร้างอินสแตนซ์ของคลาสโดยใช้ไฟล์ ใหม่ ตัวดำเนินการ มันถูกสร้างขึ้นและค่าจะถูกเก็บไว้ที่ตำแหน่งหน่วยความจำ ดังนั้นอินสแตนซ์นี้จึงชี้ตำแหน่งหน่วยความจำของวัตถุที่เป็น 'สีแดง' และ 'สีเหลือง' ตอนนี้เมื่อเราเรียกค่าด้วยอ็อบเจกต์ใหม่ o1 และ o2 มันจะชี้ไปที่ตำแหน่งหน่วยความจำของวัตถุสองชิ้นนั่นคือ 'สีแดง' และ 'สีเหลือง' ดังนั้นเมื่อมีการเรียกใช้วิธีการแลกเปลี่ยนในตอนแรกระบบจะชี้ไปที่ตำแหน่งหน่วยความจำของ 'สีแดง' ในบรรทัดถัดไปการอ้างอิงรถยนต์จะเปลี่ยนเป็นที่อยู่ถัดไปและจะชี้ไปที่ตำแหน่งหน่วยความจำของ 'สีเหลือง' ดังนั้นพวกเขาจึงสลับไปที่ขั้นตอนที่สองไม่ใช่ในขั้นตอนแรก นี่คือเหตุผลที่ JAVA เรียกว่า Pass by Value และไม่อ้างอิง

ตอนนี้คุณเข้าใจ Pass by Value และ Pass by Reference ใน Java แล้วให้ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring

เนมสเปซใน c ++

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ“ Pass by Value and Pass by Reference ใน Java” และเราจะติดต่อกลับโดยเร็วที่สุด