我有一個Java中的情況,我有一個方法返回一個InputStream,並且我想讓它使得每當該人調用該InputStream上的close函數時,代碼得到通知(如回調)。InputStream與Java中的「事件」
但是,我返回的實際InputStream是由庫調用返回的InputStream的子類,所以我沒有直接控制它。
我目前的解決方案是創建一個InputStream的子類,它有一個InputStream成員變量,它由構造函數中的庫調用實例化,我只是重寫InputStream的方法,並讓它們使用變量的方法close()函數做了額外的事情。
這有效,但我想減少必須創建一個全新的類的開銷,重寫所有必要的方法,以便我可以在調用close()時執行單個事件。
我不認爲你明白這個問題。他希望避免創建InputStream的整個子類並對所有方法進行傳遞。 OP,對不起,沒有看到更簡單的方法。至少只有7種左右的方法... – arcy
我想我的確誤解了。我會刪除。 – duffymo