让我们有这样的方法:
public int a() {
return 1 + b();
}
是否可以在表达式b()
上的eclipse中应用“Introduce parameter”重构,以便调用者实际调用被调用者的方法b?像这样:
o.a() // old
o.a( o.b() ) // new
当我这样做时,它基本上将字符串“b()”复制并粘贴到无法理解原因的调用中,因为此方法在被调用者上,而不是调用者。但也许你知道一个技巧?
或者,是否可以使用“更改方法签名”重构并使用引用被调用者的默认值中的表达式?这样我就可以在a()
上创建一个新参数,让它的默认值为${this}.b()
?
答案 0 :(得分:2)
你可以间接地做到这一点:
o.a()
(称之为a_tmp
)a_tmp
到return o.a()
return o.a(o.b())
a_tmp