转换为实例方法
此重构允许将类的静态方法转换为类实例的非静态方法。
执行重构
- 在代码编辑器中,将光标放置在要转换为实例方法的静态方法的声明上。
- 单击右键展示上下文菜单,选择 。
- 在打开的“转换为实例方法”对话框中,选择方法所属的类。方法中该类的所有用法都将替换为this。如有必要,请更改转换方法的可见性修饰符。如下图所示:
图1 转换为实例方法
- 单击“重构”以应用重构。
示例
例如,将静态方法sayHello转换为实例方法。
重构前
“com\refactoring\source\ConvertToInstanceMethod.java”文件内容如下:
class ConvertToInstanceMethod { public static void main(String[] args) { sayHello(); } public static void sayHello() { System.out.println("Hello World"); } }
重构后
“com\refactoring\source\ConvertToInstanceMethod.java”文件内容如下:
class ConvertToInstanceMethod { public static void main(String[] args) { new ConvertToInstanceMethod().sayHello(); } public void sayHello() { System.out.println("Hello World"); } }