簡體   English   中英

在Java中,是否有相當於Pascal的類型常量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM