我只是在阅读这个堆栈问题:
而且我想知道使用一种方法通过对象的地址来更改对象是否被认为是不好的编程习惯。我对此提出质疑,因为它无疑是 Java 的一个令人困惑的属性。
因此,您可以从上述问题中获取此代码:
Person person;
person = new Person("Tom");
changeName(person);
//I didn't use Person person below as an argument to be nice
static void changeName(Person anotherReferenceToTheSamePersonObject) {
anotherReferenceToTheSamePersonObject.setName("Jerry");
}
由于其令人困惑的性质,这似乎确实是编程中要避免的事情。这通常是一种可接受的 Java 编程方法吗?
(当然,经典的替代方法是以新名称作为参数调用 person.changeName() 函数。)
如果这不适合 Stack,我一定会删除它。我只是对如何在现实世界中使用这种能力感兴趣。它在专业环境中被宽恕吗?谢谢!