Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法本身中方法返回值的用法_Java_Methods_Return Type - Fatal编程技术网

Java 方法本身中方法返回值的用法

Java 方法本身中方法返回值的用法,java,methods,return-type,Java,Methods,Return Type,您可以跳过blabla,转到“下面的示例”。 当创建具有给定返回类型的方法时,是否存在调用该方法时创建的方法returntype的实例?例如,如果我有一个用户类,并且我创建了一个用户返回类型的方法,那么在调用该方法时,是否在该方法内部创建了该用户类的新实例? 你可以这样说;public Object getObject(…){…}创建一个未初始化的对象,如下所示:public Object Object;您可以在方法内部使用哪些?当调用方法中的返回类型时,它会执行以下操作:object=retu

您可以跳过blabla,转到“下面的示例”。 当创建具有给定返回类型的方法时,是否存在调用该方法时创建的方法returntype的实例?例如,如果我有一个用户类,并且我创建了一个用户返回类型的方法,那么在调用该方法时,是否在该方法内部创建了该用户类的新实例? 你可以这样说;public Object getObject(…){…}创建一个未初始化的对象,如下所示:public Object Object;您可以在方法内部使用哪些?当调用方法中的返回类型时,它会执行以下操作:object=return();它返回在方法内声明的对象实例。我知道我得到了它,也许其他人可以编辑它,让更多的stackoverflow观众更清楚

下面的示例: 例如,这在某种程度上是可能的:

public UserObject getSomethingDone(User user){ 
getSomethingDone.setSomething(user.getSomething);
return getSomethingDone;
}
与此相反:

public UserObject getSomethingDone(User user){ 
UserObject userObject = new UserObject();
userObject.setSomething(user.getSomething);
return userObject;
}
编辑: nvm提出了一个愚蠢的问题,因为我说它可能会创建一个单元化的对象实例,但当然不能使用单元化的对象实例,因为它在返回之前没有初始化。那么这可能是可能的:

public UserObject getSomethingDone(User user){ 
getSomethingDone = new UserObject();
userObject.setSomething(user.getSomething);
return userObject;
}

但这没有多大意义

您可以使用反射API获取方法的返回类型,但这比简单地实例化返回类型的新对象要麻烦得多。

否,不执行隐式对象创建。在Java中,您曾经显式地创建返回对象。

简言之,没有。Java(特别是C系列)不是这样工作的。看起来您有某种Pascal家族背景,它确实按照您所说的方式工作(好吧,几乎是这样,因为返回值未初始化*)


*:我指的是你的例子,不是你的问题,因为它们相互矛盾。老实说,我没有帕斯卡背景,只有一些C。但无论如何,我只是好奇,因为我不喜欢写不必要的代码。但现在,当我询问并认为我了解它是如何工作的。谢谢你的反馈。这听起来很有趣,我只是为了了解它,而不是因为它很有用:p.好的,学习总是好的,但是如果你正在创建一个方法,其中部分代码是动态生成的,例如从编译器/解释器生成的,那么你所问的可能会更有意义。在这种情况下,您可能想说“实例化方法返回的任何类型的对象”。但对于日常编程来说,这并不容易或方便。