# 上移成员，下移成员

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

Pull Members Up  重构允许您移动字段，如果两个类具有相同的字段，或者移动方法，如果您的子类有执行类似工作的方法。 这有助于您摆脱重复代码。 您还可以将类成员移动到超类或接口，或将接口移动到超接口。

下移成员 重构允许您通过将类成员移动到子类或子接口来整理类层次结构。 然后将成员只重新定位到直接子类或接口中。 这提高了内部类的一致性。

Procedure:

1. 选择您想要上移或下移的项目。

2. 从主菜单或上下文菜单中选择  `重构 | 上移成员`  或  `重构 | 向下推送成员` 。

3. 在打开的对话框中，根据您的重构，指定一个目标对象、您想要移动的成员以及其他附加信息。

4. 点击   重构  。

## 向上提取成员示例

|  之前  |  之后  |
| --- | --- |
|     ```JAVA // File Class.java public class Class extends SuperClass {     public void publicMethod() {      }      public void hiddenMethod() {     } }   // File SuperClass.java public abstract class SuperClass {     public abstract void publicMethod(); }  ```    |     ```JAVA // File Class.java public class Class extends SuperClass {     public void publicMethod() {      } }  // File SuperClass.java public abstract class SuperClass {     public abstract void publicMethod();      public void hiddenMethod() {      } }  ```    |

## 推送成员示例

|  之前  |  之后  |
| --- | --- |
|     ```JAVA // File Class.java public class Class extends SuperClass {     public void publicMethod() {      } }  // File SuperClass.java public abstract class SuperClass {     public abstract void publicMethod();      public void hiddenMethod() {      } }  ```    |     ```JAVA // File Class.java public class Class extends SuperClass {     public void publicMethod() {      }      public void hiddenMethod() {      } }  // File SuperClass.java public abstract class SuperClass {     public abstract void publicMethod(); }  ```    |

## See also

### 过程

[代码重构](refactoring-source-code.html)

### 参考

[上拉成员对话框](pull-members-up-dialog.html) [下推成员对话框](push-members-down-dialog.html)

