我現在有一個工具類,裡面都是static方法,專用於外部呼叫。
現在希望在每次呼叫這些static方法之前,都先呼叫一個設定預設參數的方法或程式碼區塊。
類似於加入一段靜態程式碼區塊,但是靜態程式碼區塊只會在類別初始化的時候執行一次,而不是每次呼叫靜態方法的時候都會執行一遍,不符合我的要求。
基礎解決方案是在這個工具類別中加入一個static方法,在裡面進行我想要的設置,但是這樣的話我在其他所有的static方法中都要加上調用該方法的語句,因為我在這裡的static方法很多,已經有30多個了,而且還會再增加,所以想偷個懶,想問下有沒有方法解決?
嗯。 。補充說明下,我這個是spring mvc搭的項目框架,看評論中的AOP後去百度了下,可能能滿足我的要求,正在進一步嘗試中。
如果只是單純的java程式碼,我自己想想也很難解決我這個需求。
滿天的星座2017-06-12 09:27:34
雖然用衍生類別也可以實現,卻只會更麻煩,不符合題主的方便快速的目標。
各種方法相較之下,還是題主的在各個static方法裡加一行程式碼來的快捷一些。
題主就複製貼上吧,很快的。
三叔2017-06-12 09:27:34
方法參數加個callback即可,例如原先這麼寫public static void doSomeThing(Object args1)
現在這麼寫
public static void doSomeThing(Object args1,MyCallback callback){
callback.execute(theargs...);
//do other things...
}