1

假设有这样的方法:

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

是否可以在 Eclipse 中对表达式应用“引入参数”重构,b()以便调用者实际调用被调用者的方法 b?像这样:

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

当我这样做时,它基本上将字符串“b()”复制并粘贴到调用中,这没有任何意义,因为此方法在被调用者而不是调用者上。但也许你知道一个窍门?

或者,是否可以使用“更改方法签名”重构并在引用被调用者的默认值中使用表达式?这样我就可以创建一个新参数a()并让它具有类似的默认值${this}.b()

4

1 回答 1

2

您可以间接执行此操作:

  1. 引入间接o.a()(调用它a_tmp
  2. 重构a_tmpreturn o.a()return o.a(o.b())
  3. 排队a_tmp
于 2012-04-12T10:51:15.367 回答