更新时间:2025-08-19 GMT+08:00
分享

移除中间人

通过此重构,可以将类中的委托方法的调用替换为直接对委托字段的调用,并删除不再使用的委托方法。

执行重构

  1. 在代码编辑器中,将光标放置在其声明中委托字段的名称上。
  2. 单击右键展示上下文菜单,选择重构 > 移除中间人
  3. 在打开的“移除中间人”对话框中,选择要内联的委托方法。要删除方法,请选中该方法旁边的复选框。如下图所示:

    图1 移除中间人

  4. 单击“重构”以应用重构。

示例

例如,从类InnerClass中删除print委托方法,将其替换为对委托字段nextClass的调用。

重构前

“com\refactoring\source\Middleman.java”文件内容如下:

class Middleman {

    public static void main(String[] args) {
        InnerClass innerClass = new InnerClass();
        innerClass.print();
    }

    private static class InnerClass {
        private final NextClass nextClass = new NextClass();

        public void print() {
            nextClass.print();
        }
    }

    private static class NextClass {
        public void print() {
            System.out.println("Hello World!");
        }
    }
}

重构后

“com\refactoring\source\Middleman.java”文件内容如下:

class Middleman {

    public static void main(String[] args) {
        InnerClass innerClass = new InnerClass();
        innerClass.getNextClass().print();
    }

    private static class InnerClass {
        private final NextClass nextClass = new NextClass();

        public NextClass getNextClass() {
            return nextClass;
        }
    }

    private static class NextClass {
        public void print() {
            System.out.println("Hello World!");
        }
    }
}

相关文档