簡體   English   中英

如何在重新加載類后保留變量值

[英]How to keep variable value after reloading class

你好我寫了一個模擬java測驗的程序。 該程序有3個嵌套類,第一類要求提供用戶信息(名稱id#etc),所有提供的第二個類被稱為此類是當用戶回答所有問題或時間用完時測驗結束的實際測驗這一點,第三課得分測驗。 如果用戶失敗,他可以按一個按鈕,讓他再次參加測驗。 當選擇try again選項時,跟蹤嘗試的變量由一個實現。 然而,問題在於跟蹤用戶已經嘗試了多少嘗試的變量被擦除了,因為我編寫代碼的方式程序從類1開始,然后是類2和類3,並且由於某種原因當類重新加載第二次時,變量返回到其初始值。 有沒有辦法可以保存變量,以免被擦除? 任何幫助都感激不盡。

我建議在文件中寫入值,以便在重新加載類時,它將從那里讀取。

你應該在磁盤上有一些持久性的測驗信息。 檢查FileOutputStreamFileInputStream以讀取和寫入文件。 如果你谷歌它有很多教程(比如這個 。)

我假設你有類似的東西

public class A {    
    Object value;
    public void setValue(Object value) {
       this.value = value;
    }
    public Object getValue() {
       return value;
    }
}

因此,當您銷毀實例並創建一個新實例時,該值就會消失。

作為學術解決方案,您可以將value移至課程級別。

所以它會是:

public class A {    
    static final Object[] values;
    static void setValue(Object value) {
       values[0] = value;
    }
    static Object getValue() {
       return values[0];
    }
}

這種方式value成員屬於類而不是實例。

這樣做在實際生活中的應用。 重新考慮你的設計。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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