【发布时间】:2019-05-02 02:21:58
【问题描述】:
我们了解到,在 Java 中,一个方法中只有一个 return 语句是一种很好的编码习惯。但是,这是我的问题;
我有一个抽象超类,Action。有 WalkAction、JumpAction、DoNothingAction 等子类。Actor 的类中有一个方法,它根据 if-else if-else 循环中的要求返回一个动作。如果无法实例化 Action 类,我应该如何只有 1 个 return 语句。现在该方法看起来像这样;
private Action getAction(Actor actor, Distance distance) {
if (distance < 5) {
return new JumpAction(actor);
}
else if (distance > 5 && distance < 10) {
return new WalkAction(actor);
}
else {
return new DoNothingAction(actor);
}
}
也显示没有return语句的错误
【问题讨论】:
-
"我们了解到在一个方法中只有一个 return 语句是一种很好的编码习惯。"我强烈反对。
-
@melpomene 好吧,问题是它也显示没有返回语句错误
-
如果删除
else {和},错误会消失吗? -
“它也显示没有返回语句的错误”我确定它不是!