[英]Java - Calling one method before another
使用類的方法,我想,以確保該getAverage
方法在之前一直被稱為setAverage
方法
如果setAverage
調用setAverage
,它將返回一個錯誤。
我對如何檢查該集合是否在獲取之前被調用感到困惑。
如果getAverable返回一個非原始對象,則可以檢查該值是否為null。
如果返回原始值(如整數),則可以使用布爾值檢查是否調用了setMethod。
class Name {
int value;
boolean isCalled;
public int getValue() {
if(isCalled == false) {
throw new Exception();
}
else {
return value;
}
}
public void setValue(int value) {
isCalled = true;
this.value = value;
}
}
沒有直接的Java支持來執行此操作。 當然,您可以在方法中直接實現一些算法,該算法可以記住按哪個順序執行的方法。 更好的方法是使用面向方面的編程。
執行所需操作的最簡單方法是編寫一個Aspect,該Aspect以布爾值寫入已執行getter的操作,並且僅在Boolean標志為true的情況下才允許執行setter。
當然,這只是第一步,並且很容易出錯。 (並發,重復等)
(我在碩士論文中已經編寫了這樣的框架。當然,它比僅檢查單個順序方法調用要復雜得多。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.