IntelliJ IDEA 2025.1 Help

封装字段

封装字段重构允许您隐藏数据并创建必要的访问器。

隐藏您的数据,并通过基于访问器方法的外部接口访问它,是一个好主意。 以后,您可以更改数据内部结构,与依赖于该类及其可用方法的代码保持完全兼容。

  1. 在编辑器中,将文本光标放置在类、所需字段或您想要重构的类的任何位置。 (您也可以使用 项目 工具窗口或 Structure 视图 进行选择。)

  2. 从主菜单或上下文菜单中选择 重构 | 封装字段

  3. 在打开的对话框中,勾选您想要创建访问器的字段,指定您是否想要创建 getter 或 setter 方法。 此外,如果您希望将所有字段实例替换为对适当访问器方法的调用,请选择 即使字段可访问也要使用访问器。 您还可以选择可见性选项。

  4. 预览并应用更改

示例

之前

之后

//File Class.java public class Class { public String aString; }
//File Class.java public class Class { private String aString; public void setaString(String aString) { this.aString = aString; } public String getaString() { return aString; } }
//File AnotherClass.java public class AnotherClass { public Class aClass; public void method() { aClass.aString="string"; } }
//File AnotherClass.java public class AnotherClass { public Class aClass; public void method() { aClass.setaString("string"); } }

封装字段对话框

请使用此对话框指定 封装字段 重构的选项。

条目

描述

要封装的字段

在此区域,选择您想要创建访问器的字段。 您可以保留默认名称或重命名它们。

如果在您重构的类中已经存在具有相同签名的方法,将会出现 方法 图标(方法图标 ),并且不会创建新的访问器方法。

您应检查现有的方法是否可以作为访问器使用。 如果没有这个条件,您可能需要重命名该访问器或更改现有的方法,然后再使用 封装字段 重构。 如果新的访问器重写(覆盖方法图标 )或实现(已实现的方法图标 )父类的方法,它将被相应地标记。 在这种情况下,您可能需要选择一个不同的名称或更改现有的方法。

获取访问权限/设置访问权限

请使用此选项组选择要为所选字段创建的存取方法(Getter,Setter 或两者)。 如果取消选中某个复选框,则“字段封装”表中相应列(Getter 或 Setter)将被禁用。

封装字段的可见性

在此,您可以为选定的字段指定新的可见性范围

选项

选择是否在字段可访问时仍使用访问器。 如果 即使字段可访问,也要使用访问器 选项未启用,当这些字段可以直接访问时,对所需字段的引用将不会改变。 否则,对目标字段的所有引用将被替换为访问器调用。 这也取决于您在选项组中的选择 封装字段的可见性。 例如,如果您取消选中该选项 即使字段可访问,也要使用访问器 ,并为字段选择 private可见性,则类外字段的使用将会改变,但在类内将保持不变。

访问器可见性

在此区域选择为创建的 accessor 方法设置可见性范围。

最后修改日期: 2025年 4月 24日