更新时间:2024-04-12 GMT+08:00
移动内部类到上层
此重构支持您将内部类移至上层,这个重构将包外的类、函数、变量、常量和命名空间移动到一个包中。
执行重构
- 在代码编辑器中,将光标放在要移动到上层的类的声明位置。
- 在主菜单或编辑器上下文菜单中,选择Refactor>Move Inner Class To Upper Level。
- 在打开的Move Inner Class To Upper Level对话框中,提供移动类的名称和其他重构选项。
- 要保留移动类对其以前的外部类的访问权限,请勾选复选框Pass outer class' instance as a parameter。
- 要在搜索代码中移动类的引用,请勾选Search in comments and strings和Search for text occurrences复选框 。
- 单击 Refactor以应用重构。
示例
例如,让我们将InnerClass移动到上层。要保留从InnerClass到OuterClass的访问,OuterClass的实例将作为参数传递给InnerClass。
重构前
class OuterClass { String str = "test"; public void outermethod(){ InnerClass ic = new InnerClass(); ic.print(); } class InnerClass { public void print(){ System.out.println(str); } } }
重构后
class OuterClass { String str = "test"; public void outermethod(){ InnerClass ic = new InnerClass(this); ic.print(); } } class InnerClass { private final OuterClass outerClass; public InnerClass(OuterClass outerClass) { this.outerClass = outerClass; } public void print() { System.out.println(outerClass.str); } }
父主题: 移动重构