
# 移除中间人
通过此重构，可以将类中的委托方法的调用替换为直接对委托字段的调用，并删除不再使用的委托方法。
#### 执行重构
1. 在代码编辑器中，将光标放置在其声明中委托字段的名称上。
2. 单击右键展示上下文菜单，选择**"重构 \> 移除中间人"**。
3. 在打开的**"移除中间人"** 对话框中，选择要内联的委托方法。要删除方法，请选中该方法旁边的复选框。如下图所示：
   
   图1移除中间人   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377584401.png)
   
   
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!");
        }
    }
}
```
