这是一件我不能说的事情,我很惊讶它不会起作用,但无论如何,找到这个案例的解释对我来说很有趣。 假设我们有一个对象:
SomeClass someClass = null;
还有一个将这个对象作为参数来初始化它的方法:
public void initialize(SomeClass someClass) {
someClass = new SomeClass();
}
然后当我们调用时:
initialize(someClass);
System.out.println("" + someClass);
它将打印:
null
感谢您的回答!
最佳答案
Java 是做不到的。在 C# 中,您将使用 ref
或 out
关键字传递参数。 java中没有这样的关键字。详情可以看这个问题:Can I pass parameters by reference in Java?
顺便说一句,出于同样的原因,您不能在 java 中编写交换两个整数的交换函数。
关于java - 在单独的方法中初始化 Java 对象 : why this won't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056392/