转换为实例方法
Convert to Instance Method 重构允许您将静态方法转换为非静态类实例方法,类是初始方法的类型参数。
在编辑器中,将文本光标放在您要重构的方法声明或用法处。 该方法应为
static,其参数的类型应为项目中的类。 还请注意,您不能使用这样的参数类型:String。前往 。
您也可以使用上下文菜单来访问此重构。
在打开的对话框中,选择转换后方法所属的类。 该方法中此类的所有使用都被替换为 this。
如果需要,请更改已转换方法的可见范围。
预览并应用更改。
示例
请考虑同一个包中的类 MyClass、 ClassB 和 ClassB。
因此, MyClass 和 ClassB 被转换。
public class MyClass {
ClassA classA = new ClassA();
ClassB classB = new ClassB();
static public void greatMethod(ClassA classA, ClassB classB){
System.out.println("classA = " + classA);
System.out.println("classB = " + classB);
}
public void myMethod(){
MyClass.greatMethod(classA, classB);
}
}
public class MyClass {
ClassA classA = new ClassA();
ClassB classB = new ClassB();
public void myMethod(){
classB.greatMethod(classA);
}
}
public class ClassB {
public void greatMethod(ClassA classA) {
System.out.println("classA = " + classA);
System.out.println("classB = " + this);
}
}
转换为实例方法对话框
当您调用 转换为实例方法 重构时,将出现此对话框。
条目 | 描述 |
|---|---|
选择一个实例参数 | 选择转换后希望该方法归属的类。 该方法中此类的所有使用都被替换为 |
可见性 | 在此区域,您可以更改转换方法的可见性范围。 默认情况下,转换后的方法将没有作用域声明(等同于 |
最后修改日期: 2025年 4月 24日