方法返回其他类实例的返回类型确定及多值返回场景咨询
方法返回其他类实例时的返回类型指定问题
嗨,这个问题其实挺直观的,我来给你拆解清楚:
通用原则
当一个方法要返回另一个类的实例时,直接把返回类型指定为那个类的类名就可以了。如果有需要(比如要兼容子类返回的场景),也可以指定为该类的父类或者它实现的接口——只要返回的实例符合这个类型的约束就行。
针对你的代码示例
看你贴的这段代码:
<return type??> someMethod{ --- var instance=new AnotherClass(); return instance; }
这里的返回类型直接写 AnotherClass 就对了,修改后的代码应该是这样:
AnotherClass someMethod() { // 这里写你的业务逻辑 var instance = new AnotherClass(); // 给instance的属性赋值,比如 instance.username = "preeti"; return instance; }
额外扩展小技巧
如果以后你的方法可能需要返回AnotherClass的子类(比如SubAnotherClass extends AnotherClass),而且调用方只需要用到AnotherClass里定义的属性和方法,那你也可以把返回类型写成父类AnotherClass,这样代码的扩展性会更好。举个例子:
AnotherClass someMethod() { // 这里可以灵活返回AnotherClass或者它的子类实例 var instance = new SubAnotherClass(); return instance; }
这种写法遵循了里氏替换原则,能让你的代码更灵活~
内容的提问来源于stack exchange,提问作者preeti sharma
相关产品推荐
相关产品推荐

