Dog.setName("Kutta"); // this is how you call a setter method
String Naam = Dog.getName();
System.println(Naam); //Kutta
Naam = "Kutte ki Ma";
System.println(Dog.getName()); // Is this *Kutte ki Ma* or is it *Kutta*?
And Why? If Java passes references by value, shouldn't Naam point to Dog.getName()? If that is the case, shouldn't the Name variable of Dog object (which may be private to the class used here) be directly modified if Naam is modified? Isn't that a flaw?