IntelliJ IDEA向下推送成员
IntelliJ IDEA 向下推送成员重构有助于通过将类成员移至子类或子接口来清理类层次结构。然后成员只能重定位到直接的子类/接口中。
向下推送成员重构示例
操作前:
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
...
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
public void hiddenMethod() {
...
}
}
操作后:
// File Class.java
public class Class extends SuperClass {
public void publicMethod() {
...
}
public void hiddenMethod() {
...
}
}
// File SuperClass.java
public abstract class SuperClass {
public abstract void publicMethod();
}
向下推送成员
- 在编辑器中,打开需要向下推送其成员的类。
- 在主菜单或上下文菜单上,选择:重构| 向下推送成员。 “向下推送成员”对话框显示要推下的成员列表。
- 在要向下推入的成员区域中,选择要移动的成员。请注意,插入记号的成员已被选中。如果推送某个成员可能会导致问题,则会以红色突出显示通知您。这意味着,如果无人看管,重构后会出现错误。IntelliJ IDEA 会提示您出现“检测到问题”对话框,您可以在其中选择忽略或修复问题。
- 选择 "保留摘要" 复选框:如果原始方法是非抽象的,则将原始方法转换为抽象,并将原始方法体移动到子类中的新方法作为抽象方法实现。在子类中创建新的抽象方法,在子类/子接口中创建相同的抽象方法(如果子类不是抽象的,可能会有错误),如果被推送的方法已经是抽象的。
- 当您推下具有 JavaDoc 注释的抽象方法时,请指定如何在 JavaDoc 部分处理它们。
- 预览并应用更改。