我想实现一个方法,该方法在第一次调用和第二次调用时具有不同的行为。
怎么做?
最佳答案
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/