在 Java 中,方法可以拥有与 C 中的静态变量类似的东西吗?尽管 Java 没有提供这样的方法 也就是说,它只会被初始化一次,并在后续递归调用中保留最新值
我可以将它传递回方法以获取最新值,并根据某些仅适用一次的条件实现“仅初始化一次”
int fun(.....,Nthcall,PseudoStatic)
{if(NthCall==1)
PseudoStatic=10
//rest of code
Pseudostatic=100
fun(.....,Nthcall+1,PseudoStatic)
}
还有更好的吗?
最佳答案
为什么不直接将变量声明为类静态呢?请参阅tutorial on instance and class variables了解更多信息。
请注意,如果多个线程使用同一个类,则这不是线程安全的。因此,您最好在每次调用时定义一个类成员变量。
关于java - 模拟Java方法中静态C变量的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078655/