CodeArts IDE
CodeArts IDE
- 最新动态
- 产品介绍
- 快速入门
-
用户指南
- 下载CodeArts IDE客户端
- 登录CodeArts IDE客户端
- 激活CodeArts IDE客户端
- 配置CodeArts IDE用户权限
- CodeArts IDE产品功能介绍
- CodeArts IDE基础操作介绍
- 使用CodeArts IDE for C/C++
- 使用CodeArts IDE for Java
- 使用CodeArts IDE for Python
- 使用CodeArts IDE for RemoteShell
- 最佳实践
- 常见问题
- API参考
- 文档下载
- 通用参考
链接复制成功!
移动静态成员
此重构允许您将类的静态成员移动到不同的类中。
执行重构
- 在代码编辑器中,将光标放置在要移动到另一个类的静态成员(字段或方法)的声明上。
- 在编辑器的上下文菜单中,选择“重构 > 移动静态成员...”。
- 在打开的“移动静态成员”对话框中,提供重构选项。
- 提供有效的目标类名称。
- 在“要移动的成员”列表中,选中要移动的静态成员复选框。
- 在“可见性”区域中,指定移动的静态成员的可见性修改器,或选择“升级”以自动将可见性设置为所需的级别。
- 选中“如果可能,作为枚举常量移动”复选框,将常量(即static final字段)作为枚举常量移动到枚举类型。如果枚举类型具有类型参数的构造函数,则这是可能的。
- 单击“重构”以应用重构。
示例
例如,将类MoveStaticMembers的所有静态成员移动到枚举类MyEnum。由于MyEnum有一个带有String类型参数的构造函数,因此可以使用Move as enum constant if possible选项将STATICFINALSTR和staticStr字段移动为枚举常量。
重构前
class MoveStaticMembers {
Boolean isTrue;
public static final String STATICFINALSTR = "TEST";
static List<Integer> staticList;
static int[] staticN;
private static final String staticStr = "test";
public static void staticMethod() {
System.out.println(staticStr);
}
private static Boolean staticMethod2() {
return true;
}
void method() {
}
}
enum MyEnum {
;
String typeName;
MyEnum(String name) {
typeName = name;
}
}
重构后
class MoveStaticMembers {
Boolean isTrue;
void method() {
}
}
enum MyEnum {
STATICFINALSTR("TEST"), staticStr("test");
static List<Integer> staticList;
static int[] staticN;
String typeName;
MyEnum(String name) {
typeName = name;
}
public static void staticMethod() {
System.out.println(staticStr);
}
private static Boolean staticMethod2() {
return true;
}
}
父主题: 移动重构