我浏览了 stackoverflow 中的几篇文章,并在其他好网站上搜索了以了解 java pass by value 的概念..
我的疑问如下。
Dog someDog = new Dog("FOO"); //mem location 42
foo(someDog);
someDog.setName("FIFI"); // false
foo(Dog newDog){
newDog.name.equals("FOO"); //true
newDog = new Dog("FIFI"); // create a new DOG object mem location 72. my doubt here
newDog.name.equals("FIFI"); //true
}
因此,如上一行,newDog = new Dog("FIFI");
我的理解是在内存位置 72 处创建新的 DOG 对象,并将其分配给内存位置 42 处的另一个 Dog 位置对象。
这是什么意思?在后台。。
问候普尼斯。