假设我想写一个看起来像这样的一次性门......
int closing = 1;
if(closing-- > 0){
//this will only work once
}
我很好奇是否有任何其他机制以这种方式工作(或可以这样做),以便我可能会重载运算符(可以这么说)以与对象类似地表现。
我觉得这是不可行的,但如果我错了,我很想知道如何做。
示例“希望”代码...
class MagicObject{
public String oldVal = "apple"
public String magicPostEvalString(String newVal){
return oldVal;
oldVal = newVal;
}
}
MagicObject mo = new MagicObject();
if(mo.magicPostEval("orange").equals("apple"))
//this will also only happen once
请注意,在我的 magicPostEvalString 中,该值是在返回之后设置的,因此它会在修改之前返回旧值。
本质上,这就是 foo++ 正在做的事情......它评估然后更改值。