簡體   English   中英

Java-先調用一種方法

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

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