
# 移动类
此重构允许移动不同包中的类，维护正确的目录结构。
#### 执行重构
1. 在代码编辑器中，将光标放在用户想要移动的类上。
2. 单击右键展示上下文菜单，选择"重构 \> 移动类..."或按"F6"。
3. 在打开的**"移动"** 对话框中，提供重构参数。
   
   - 要将类移动到不同的包中，请选择**"目标包"** 并在**"目标包"** 选择框中选择目标包。单击浏览按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343546426.png)），在打开的**"选择目标包"**对话框中，选择包或创建一个新包。
   
   - 要将类移动到其他类中，使其成为内部类，请选择**"将其变为内部类"** 并在**"将其变为内部类"**输入框中输入目标类的完全限定名称。
   
   - 要在代码中搜索移动的类的出现情况，请勾选**"在注释和字符串中搜索"** 和**"搜索文本出现次数"**复选框。
   
   
   如下图所示：
   图1移动类   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002384407585.png)
   
   
4. 单击**"重构"**以应用重构。
 
#### 示例
作为示例，将存储在包com.refactoring.source中的类Refactoring移动到包com.refactoring.target中。
**重构前**
"com\\refactoring\\source\\Refactoring.java" 文件内容如下：
```
package com.refactoring.source;
public class Refactoring {
    public String testStr = "test";
    public void DoSomeThing() {
        System.out.println(testStr);
    }
}
```
**重构后**
"com\\refactoring\\source\\Refactoring.java" 文件被删除，重新创建 "com\\refactoring\\target\\Refactoring.java" 文件， 内容如下：
```
package com.refactoring.target;
public class Refactoring {
   public String testStr = "test";
   public void DoSomeThing() {
      System.out.println(testStr);
   }
}
```
