3

这些天我在回顾递归,发现很多 Java 递归方法示例都是静态的。有人可以解释为什么吗?

我的猜测是他们想要节省内存,因为从逻辑上讲,只要它的子递归方法正在运行并且还没有返回任何东西,“父”递归方法就会保持沉默。

另外请检查以下猜测是否正确:

静态递归方法在同一个线程上运行,而非静态方法可能在不同的线程上运行,这是正确的还是没有任何意义?

4

1 回答 1

8

因为递归方法/算法通常仅由其参数控制,而不是由实例变量控制。

任何不依赖实例变量的方法都可以(并且可能应该)被创建static

于 2013-10-01T23:29:21.777 回答