java - 判断一个方法是第一次还是第二次被调用?

标签 java

我想实现一个方法,该方法在第一次调用和第二次调用时具有不同的行为。

怎么做?

最佳答案

Java 中的实例方法可以访问类的状态。添加一个变量来指示之前是否调用过这些方法,并使用它来决定方法内部的两条路径:

class FirstTimeCaller {
    private boolean isFirstTime = true;
    void methodWithState() {
        if (isFirstTime) {
            ... // Do first-time thing
            isFirstTime = false;
        } else {
            ... // Do the other thing
        }
    }
}

这适用于同一对象的实例方法:第一次调用将在您第一次调用 methodWithState 时执行在 FirstTimeCaller 的每个新对象上类。

如果您希望为静态方法实现相同的行为,或者您希望对任何 实例进行首次调用以执行不同的操作,而所有后续调用均执行其他操作, 使 isFirstTime领域 static .

关于java - 判断一个方法是第一次还是第二次被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42946026/

相关文章:

java - 仅保留数字、字母并删除空格

java - 如何将文本从 Activity 传递到 Android 中的 Google Now 搜索

java - 如何使用标志来重新启动线程中的操作?

Java 8 javadoc 工具差异和 gradle 错误 : how to work around it?

java - 我认为我可能误解了 Map 类方法

java - getResource() 无法加载 jar 中的内容

java.lang.Integer.parseInt 失败,十六进制字符串使用最高位

java - Selector.select(timeout) 在超时前返回 0

java - 获取错误 - 无法读取模式文档 - JBPM

java - 如何在滑动菜单中将标题添加到 ListView ?