更新时间:2024-04-12 GMT+08:00
提取方法对象
此重构允许您将任意代码片段单独移动到新类的方法中,以便您可以进一步将该方法分解为同一对象上的其他方法。
执行重构
- 在代码编辑器中,选择要提取到包装类的新方法的代码片段。
- 在主菜单或编辑器上下文菜单中,选择Refactor>Extract Method Object。
- 在打开的Extract Method Object对话框中,提供重构选项。
- Create inner class:选择以创建新的内部类。所有局部变量都转换为此类的字段。提供类的名称及其可见性修饰符。
- Create anonymous class:选择以创建新对象并提供要创建的方法的名称。
- 在Parameters区域中,在范围内选择变量作为方法参数。
- 单击Refactor以应用重构。
示例
例如,让我们将包含 println语句的for循环提取到Printer包装类的新方法中。
重构前
class ExtractMethodObject { public static void main(String[] args) { String text = "Hello World!"; int n = 5; for (int i = 0; i < n; i++) { System.out.println(text); } } }
重构后
class ExtractMethodObject { public static void main(String[] args) { String text = "Hello World!"; int n = 5; new Printer(text, n).invoke(); } private static class Printer { private String text; private int n; public Printer(String text, int n) { this.text = text; this.n = n; } public void invoke() { for (int i = 0; i < n; i++) { System.out.println(text); } } } }
父主题: 提取/引入重构