尽可能使用接口
尽可能使用接口 重构将指定方法的执行委托给实现相同接口的祖先类或内部类的实例,这些方法派生自基类/接口。
在编辑器中,将文本光标置于一个类,其方法应委派给其父类或接口。
从主菜单或上下文菜单中选择 。
在打开的对话框中,选择将替换当前类用法的父对象。
要替换
instanceof语句中的当前类名,请勾选选项 使用 interface/superclass 在 instanceof。请注意,如果您使用
instanceof语句并且不选择此复选框,您可能会收到错误代码,例如:if (secondInterface instanceof Class)此代码将编译,但可能产生不期望的结果。
预览并应用更改。
示例
之前 | 之后 |
|---|---|
// 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) {
...
}
...
}
}
|
尽可能使用界面对话框
当您调用 尽可能使用接口 重构时,将出现此对话框。
条目 | 描述 |
|---|---|
更改用法 | 选择将替换当前类用法的父类或接口。 |
在 | 如果选中此选项,IntelliJ IDEA 将扫描源代码中是否存在所选超类或接口的 |
最后修改日期: 2025年 4月 24日