
# 封装字段
此重构允许限制类字段的可见性，并提供用于访问它们的getter和setter方法。
#### 执行重构
1. 在代码编辑器中，将光标放置在要封装字段的声明上。
2. 单击右键展示上下文菜单，选择**"重构 \> 封装字段"**。
3. 在打开的**"封装字段"** 对话框中，提供重构选项。
   
   - 选择要封装的字段，并（可选）自定义getter和setter方法的名称。
   
   - 在封装区域中，可以选择不同的选项达到同时创建或单独创建getter、setter的目的。例如，选中**"即使字段可访问，也使用访问器"**复选框，以将所有字段引用替换为对相应访问器方法的调用。
   
   - 指定封装字段和访问器的可见性。
     图1封装字段   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343546506.png "点击放大") 
   
   
   
   
4. 单击**"重构"**以应用重构。
 
#### 示例
例如，封装**name**变量，并为其生成getter和setter方法。
**重构前**
"com\\refactoring\\source\\Person.java"文件内容如下：
```
class Person {
    public String name;
    public static void main(String[] args) {
        Person person = new Person();
        person.name = "John";
        System.out.println(person.name);
    }
}
```
**重构后**
"com\\refactoring\\source\\Person.java"文件内容如下：
```
class Person {
    private String name;
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("John");
        System.out.println(person.getName());
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
```
