[英]In Java, is there an equivalent of Pascal's typed constants
在Delphi / Pascal中,有一種機制,通過該機制,方法中的局部變量可以記住從一個方法調用到下一個方法的值。 這是使用類型常量完成的。 例如:
procedure blah();
const
i: integer = 0;
begin
i := i + 1;
writeln(i);
end;
每次調用blah()時我都會增加。 輸出結果如下:
1 2 3 4 5 ...
(每個數字在不同的行上,但編輯器將它們放在同一行上)
Java有同等的東西嗎?
你可以使用靜態變量。 在第一次通話時啟動一次。 並在每次通話時保存最新值。
public class usingBlah{
static int i = 0;
void blah() {
i++;
//print here by Log.i or whatever
}
}
在這里,就像你在delphi中的代碼一樣,我在第一次調用時定義並啟動。 在下一次調用時,它將保存最新值。
可能是靜態變量可以幫到你。
在創建類的第一個實例時,靜態變量只初始化一次。 之后它存儲了值。
Java中最接近的等價物是類的靜態變量。 它具有靜態生命周期,但也具有比Delphi可分配類型常量更廣的范圍。
在Java中,沒有什么能像Delphi那樣具有古怪命名的可分配類型常量 ,它們具有局部范圍,但具有靜態生命周期。 靜態類變量盡可能接近。
在C / C ++中,您可以使用具有靜態存儲持續時間的局部變量,該變量具有與Delphi的可分配類型常量相同的語義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.