在Delphi / Pascal中,有一种机制,通过该机制,方法中的局部变量可以记住从一个方法调用到下一个方法的值.这是使用类型常量完成的.例如:
procedure blah(); const i: integer = 0; begin i := i + 1; writeln(i); end;
1
2
3
4
五
…
(每个数字在不同的行上,但编辑器将它们放在同一行上)
Java有同等的东西吗?
解决方法
Java中最接近的等价物是类的静态变量.它具有静态生命周期,但也具有比Delphi可分配类型常量更广的范围.
在Java中,没有什么能像Delphi那样具有古怪命名的可分配类型常量,它们具有局部范围,但具有静态生命周期.静态类变量尽可能接近.
在C/C++中,您可以使用具有静态存储持续时间的局部变量,该变量具有与Delphi的可分配类型常量相同的语义.