Eclipse,将java方法重构为另一个类

mom*_*omo 31 eclipse

如何将classA中的Java方法重构(移动)到classB中,并更新对该方法的所有引用?

Eclipse中是否支持此功能?

Tho*_*mas 22

对于静态方法,您可以右键单击并选择"移动".

Obj1.myMethod()
Run Code Online (Sandbox Code Playgroud)

然后会被"移动"到

Obj2.myMethod()
Run Code Online (Sandbox Code Playgroud)

和eclipse会修复你的进口等.

对于非静态方法,这可能不起作用,具体取决于classA和classB之间的关系.

Obj1 myobj1 = new Obj1();
myobj1.myMethod();
myobj1.myOtherMethod();
Run Code Online (Sandbox Code Playgroud)

如果将myMethod()移动到另一个类,则重构必须更改对象初始化.如果myOtherMethod没有被移动,那么它不能只将myobj1的类型改为Obj2,因为那时myOtherMethod将不起作用.


Dee*_*zad 12

  • 在"大纲"视图中选择方法
  • 重构>移动

如果要将方法移动到新类 - Refactor> Extract Class

  • `Extract Class`坚持将一些成员变量提取到新类中.如果要移动方法,这很烦人,因为它不依赖于任何实例状态. (6认同)