java - 模拟Java方法中静态C变量的效果

标签 java

在 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/

相关文章:

java - 多线程(多请求)调用的Spring @Transactional方法

java - 打印 Java 变量的类型

java - 创建给定单词的所有字谜词的惰性流

java - 如何在Nokia 1200 上安装J2ME?

java - IntelliJ Linux LWJGL 3 添加 native 到

java - 如何求一个序列中所有数字的阶乘之和?

java.sql.SQLException :near"İşlem":Syntax error

java - AssertJ 将提取的字段转换为 Map

java - 在 JavaFX 的 DatePicker 中设置一周的第一天

java - Hibernate:如何处理DAO中的Session以正确设置关联?