在单独的方法中初始化Java对象:为什么这不起作用

Ego*_*gor 8 java methods constructor initialization

这是我无法分辨的事情我很惊讶它不会起作用,但无论如何我找到这个案例的解释很有意思.想象一下,我们有一个对象:

SomeClass someClass = null;
Run Code Online (Sandbox Code Playgroud)

并且该方法将此对象作为参数来初始化它:

public void initialize(SomeClass someClass) {
  someClass = new SomeClass();
}
Run Code Online (Sandbox Code Playgroud)

然后我们打电话:

initialize(someClass);
System.out.println("" + someClass);
Run Code Online (Sandbox Code Playgroud)

它将打印:

null
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答!

Arm*_*yan 10

在java中这是不可能的.在C#中,您将使用refor out关键字传递参数.java中没有这样的关键字.您可以查看此问题以获取详细信息:我可以通过Java中的引用传递参数吗?

顺便说一下,出于同样的原因,你不能在java中写一个交换两个整数的交换函数.