IntelliJ IDEA 2025.1 Help

尽可能使用接口

尽可能使用接口 重构将指定方法的执行委托给实现相同接口的祖先类或内部类的实例,这些方法派生自基类/接口。

  1. 在编辑器中,将文本光标置于一个类,其方法应委派给其父类或接口。

  2. 从主菜单或上下文菜单中选择 重构 | 尽量使用接口

  3. 在打开的对话框中,选择将替换当前类用法的父对象。

  4. 要替换 instanceof 语句中的当前类名,请勾选选项 使用 interface/superclass 在 instanceof

    请注意,如果您使用 instanceof 语句并且不选择此复选框,您可能会收到错误代码,例如:

    if (secondInterface instanceof Class)

    此代码将编译,但可能产生不期望的结果。

  5. 预览并应用更改。

示例

之前

之后

// File Class.java public class Class implements Interface { public void publicMethod() { ... } public void hiddenMethod() { ... } }
// File Class.java UNCHANGED public class Class implements Interface { public void publicMethod() { ... } public void hiddenMethod() { ... } }
// File Interface.java public interface Interface { int CONSTANT=0; void publicMethod(); }
// File Interface.java UNCHANGED public interface Interface { int CONSTANT=0; void publicMethod(); }
// File AnotherClass.java public class AnotherClass { Class firstClass; Class secondClass; public void method() { firstClass.publicMethod(); firstClass.hiddenMethod(); secondClass.publicMethod(); if (secondClass instanceof Class) { ... } ... } }
// File AnotherClass.java MODIFIED public class AnotherClass { Class firstClass; Interface secondInterface; public void method() { firstClass.publicMethod(); firstClass.hiddenMethod(); secondInterface.publicMethod(); if (secondInterface instanceof Interface) { ... } ... } }

尽可能使用界面对话框

当您调用 尽可能使用接口 重构时,将出现此对话框。

条目

描述

更改用法

选择将替换当前类用法的父类或接口。

instanceof 中使用接口/超类

如果选中此选项,IntelliJ IDEA 将扫描源代码中是否存在所选超类或接口的 instanceof 语句,如果发现,则进行更改。

最后修改日期: 2025年 4月 24日