java - 为什么Java中的递归方法通常是静态的?

标签 java recursion static

这几天在复习递归,发现很多Java递归方法示例都是静态的。有人能解释一下为什么吗?

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

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

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

最佳答案

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

任何不依赖实例变量的方法都可以(并且可能应该)设为静态

关于java - 为什么Java中的递归方法通常是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19127667/

相关文章:

recursion - 使用可变引用对app_state进行递归更新更新

java - 即使在应用程序关闭后,静态变量也会存在吗?

c++使用CLI数组初始化值static int

c# - 线程安全方法?

java - 无法在构造函数中初始化静态最终字段

java - JPA 乐观锁定与同步 Java 方法

java - 使用 Spring Boot Gradle 插件和 IntelliJ 设置环境变量

java - java中创建一个String会自动创建一个String的新对象吗?

recursion - 在函数定义中引用函数名称

recursion - 用于检查列表中的值的 Lisp 递归函数不起作用