2012-04-12 52 views
1

要有這樣的方法時引用被叫:在Eclipse中重構

public int a() { 
    return 1 + b(); 
} 

是否可以適用「引進參數」 Eclipse中的重構上表達b()使得呼叫者實際調用方法B在被調用者?就像這樣:

o.a()   // old 
o.a(o.b()) // new 

當我做到這一點,它基本上&粘貼的串「B()」複製到調用不作事業的意義,因爲這種方法是被叫,不來電。但也許你知道一個詭計?

或者,是否可以使用「更改方法簽名」重構並在引用被調用方的默認值中使用表達式?所以我可以在a()上創建一個新參數,並讓它有一個像${this}.b()之類的默認值?

回答

2

你可以做到這一點間接:

  1. 介紹的間接上o.a()(稱之爲a_tmp
  2. 重構a_tmpreturn o.a()return o.a(o.b())
  3. 在線a_tmp
+0

我把間接的與'a()'相同的類,它完美的工作! – Wolfgang 2012-04-12 11:11:48