引入字段
此重构允许您创建一个新的类字段,使用选定的表达式初始化它,并使用创建的类字段的引用替换原始表达式。这与内联字段重构相反。
执行重构
- 在代码编辑器中,将光标放置在要提取到类字段的表达式上。
- 单击右键展示上下文菜单,选择“Ctrl+Shift+Alt+F”。 。或者按
- 如果多个表达式属于重构范围,请在出现的弹窗中选择所需的表达式。如下图所示:
图1 选择表达式
- 在打开的“引入字段”对话框中,提供引入字段的类型和名称、初始化于和可见性选项。
当“初始化于”勾选“字段声明”时,可以选择是否将字段“声明为final”字段。
图2 引入字段 - 单击“重构”以应用重构。
示例
例如,将表达式“Hello”+“ ”+“World!”提取到在类构造函数中初始化的新message私有字段。
重构前
“com\refactoring\source\ExtractField.java”文件内容如下:
class ExtractField { public static void main(String[] args) { sayHello(); } private static void sayHello() { System.out.println("Hello" + " " + "World!"); } }
重构后
将表达式“Hello”+“ ”+“World!”提取到新的字段“message”后,“com\refactoring\source\ExtractField.java”文件内容如下:
class ExtractField { private static String messages; public static void main(String[] args) { sayHello(); } private static void sayHello() { messages = "Hello" + " " + "World!"; System.out.println(messages); } }