Pass by Value vs Pass by Reference in Java Explained

Ever wondered why changing one variable sometimes changes everything in Java? Today I finally understood a concept that used to confuse me a lot — Pass by Value vs Pass by Reference (memory perspective). At first, it felt tricky… but once I visualized how memory works, everything started making sense. What I learned: [1] Pass by Value (Definition): A copy of the actual value is passed to another variable. 👉 Both variables work independently. Example: int x = 10; int y = x; // copy y = 20; System.out.println(x); // 10 System.out.println(y); // 20 ➡️ Changing y does NOT affect x [2] Pass by Reference (Concept in Java objects): Actually, Java is always pass by value… BUT for objects, the value being passed is the reference (address). 👉 So multiple variables can point to the same object in memory. Example: Car a = new Car(); a.name = "Maruti"; Car b = a; // reference copy b.name = "Kia"; System.out.println(a.name); // Kia ➡️ Changing b also changes a because both point to the same object. 💡 Real-life analogy: It’s like one person having multiple names — Parents call you one name, friends call you another… but it’s still YOU. Same in Java: Different references ➝ Same object ➝ Same changes. 🔑 Key Takeaways: Java is always pass by value For objects, the value = reference (address) Multiple references can point to the same object Changing via one reference affects all This concept really changed how I look at Java objects and memory. Still learning, still improving… one concept at a time #Java #Programming #LearningJourney #Coding #JavaDeveloper #BeginnerDeveloper #SoftwareDevelopment #100DaysOfCode

  • No alternative text description for this image

To view or add a comment, sign in

Explore content categories