我目前正在查看一位同事的一些代码,并发现了我以前从未见过的递归用法。
我减少了它,所以他基本上做的是:
public class Main {
static class Test {
private static final int MAX = 10;
private int mValue = 0;
void test() {
System.out.println( mValue );
mValue++;
if (mValue < MAX) {
test();
}
}
}
public static void main( final String[] args ) {
final Test test = new Test();
test.test();
}
}
当我使用递归时,我会将所有需要的变量作为参数提供,然后返回一个返回值,或者使用其中一个参数来提供一个可以写入结果的容器对象。这样每个递归都有它自己的要处理的数据范围。
我环顾四周,但网络上的每个示例都按照我的方式进行。
那么这会导致任何错误吗?对象中的一些不一致?这和调用不同的私有方法来操作成员变量有区别吗?
brgds,
Ĵ