Java中的实例方法可以访问类的状态.添加一个变量以指示之前是否已调用这些方法,并使用它来决定在方法内部采用的两个路径:
class FirstTimeCaller {
private boolean isFirstTime = true;
void methodWithState() {
if (isFirstTime) {
... // Do first-time thing
isFirstTime = false;
} else {
... // Do the other thing
}
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于同一对象的方法:第一次调用将在您第一次调用类的methodWithState每个新对象时执行FirstTimeCaller.
如果您希望为静态方法实现相同的行为,或者您希望在任何实例上进行第一次调用以执行其他操作,并且所有后续调用都要执行其他操作,请创建isFirstTime字段static.
| 归档时间: |
|
| 查看次数: |
1765 次 |
| 最近记录: |