繁体   English   中英

在方法本身中使用方法返回值

[英]Usage of method return value in method itself

您可以跳过blabla,然后转到“下面的示例”。 在创建具有给定返回类型的方法时,是否在调用方法时创建了方法returntype的实例? 例如,如果我有一个User类,并且使用User返回类型创建了一个方法,那么在调用该方法时在该方法内是否创建了User类的新实例? 你可以这样说吗? public Object getObject(...){...}创建一个未初始化的对象,如下所示:public Object object; 您可以在方法内部使用哪个? 当调用方法中的返回类型时,它将执行以下操作:object = return(); 它返回在方法内部声明的Object实例。 我知道我得到了可怕的解释,其他人可以编辑它,以使更多的读者了解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家庭背景,确实可以按照您所说的进行工作(嗯,几乎,因为返回值尚未初始化*)。

*:我指的是您的示例,而不是您的问题,因为它们相互矛盾

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM