2015-09-26 61 views
1
class Testing{ 

    static int count = 0; 
    public Testing(){ 
     count++; 
    } 
    public static void main(String[] args){ 
     Testing[] testObjects= new Testing[20]; 
     for(int i = 1; i<20;i++){ 
      if(Testing.count==5){ 
       System.out.println("5 objects are created.. Can't create anymore, although 20 objects can be stored"); 
       System.exit(0); 
      } 
      else{ 
        testObjects[i] = new Testing(); 
        System.out.println("Object "+Testing.count+" is created."); 
      } 
     } // for loop close 
     System.out.println("Program will exit"); 
    } 
} 

我曾嘗試這個代碼,但它僅保留一個運行的信息,我需要跟蹤多個執行我們如何檢查一個java程序以前執行過多少次?

+0

後retireve它創建一個循環,讓你的程序運行多次。如果程序實際上結束了(進程終止),除非您通過文件或類似方式將其寫入驅動器,否則無法存儲該信息。這就是爲什麼你必須通過循環模擬程序重啓,並考慮每個循環迭代1執行。 –

+0

你想要算什麼?有多少人已經初始化? – Michael

+2

你想追蹤什麼?一旦程序運行完畢,內存就不足了,內部的任何東西都沒有了。您需要一些持久機制(保存日誌文件,序列化您關心的對象等) – paisanco

回答

0

你必須要堅持的的值,例如到文件中。

3

聲明countstatic將該變量不是綁定到類實例,而是綁定到類本身。因此,所有對象共享一個count變量。您設置代碼的方式(在每個構造函數調用中增加count)跟蹤在此程序的整個生存期內創建了多少個Testing對象。如果你想堅持數據,你需要看看Preferences這個類。從本質上講,在程序結束時,你就會把價值入庫:

myPreferences.put("ObjectsCreated", Testing.count); 

然後用

int previous = myPreferences.getInt("ObjectsCreated", 0); 
相關問題