JSRUN 用代码说话

提取接口重构

编辑教程

提取接口重构

使用提取接口重构,您有下列三个选择:

根据类的方法创建一个接口而不需要立即应用新的接口。
创建一个接口并将其应用于源代码。
重命名原始类,并实现新创建的接口。在这种情况下,IntelliJ IDEA 会更改原始类的所有用法,以尽可能使用该接口。

另外,在初始类中声明的静态 final 字段可以被移动到一个接口。因此,将会创建一个包含特定方法和字段的接口。从而,指定的类方法成为相应接口方法的实现。

示例

在这里,我们有一个类,并执行提取接口重构,根据类的方法创建一个接口。

重构前

// AClass.java 文件
class AClass {
    public static final double CONSTANT=3.14;
    public void publicMethod() {//some code here}
    public void secretMethod() {//some code here}
}

重构后

// AClass.java 文件
class AClass implements AnInterface {
    public void publicMethod() {//some code here}
    public void secretMethod() {//some code here}
}
// AnInterface.java 文件
public interface AnInterface {
    double CONSTANT=3.14;
    void publicMethod();
}

提取接口重构的另一个例子,当重命名的原始类和使用接口的可能选项被选中。

重构前

public class FormerAClass implements AClass {
    public void publicMethod() {//some code here}
    public void secretMethod() {//some code here}
}

重构后

public interface AClass {
    double CONSTANT=3.14;
    void publicMethod();
}

您可以从已实现另一个接口的类中提取接口。让我们从实现 AnInterface 的类中提取接口。根据我们是否需要 AnotherInterface (提取的接口) 来扩展 AnInterface (现有的界面), 或者我们希望源 AClass 实现它们, 我们将得到以下代码:

提取的接口扩展了现有的一个:

您可以从已经实现了另一个接口的类中提取接口。让我们从实现 AnInterface 的类中提取接口。根据我们是否需要 AnotherInterface (提取的接口)来扩展 AnInterface (现有的接口)还是我们希望源代码 AClass 来实现它们,我们将得到以下代码:

提取的接口扩展了现有的接口:

class AClass implements AnotherInterface {
    public void publicMethod() {
        //some code here
    }
    public void secretMethod() {
        //some code here
    }
}

提取的接口:

public interface AnotherInterface extends AnInterface {
    }

Source 类实现两个接口。

Source 类:

class AClass implements AnInterface, AnotherInterface {
    public void publicMethod() {
        //some code here
    }
    public void secretMethod() {
        //some code here
    }
}

提取的接口:

public interface AnotherInterface {
}

提取接口

在 "项目" 视图、"结构" 视图中选择类,或在编辑器中的类中的任意位置放置插入符号。
在主菜单或选择的上下文菜单上,选择:重构丨 提取丨 接口。此时将显示 "提取接口" 对话框。
要提取新的接口,请选择 "提取接口" 选项并指定新接口的名称。
要重命名原始类并使其成为新创建的接口的实现,请选择 "重命名原始类" 并使用 "可能的接口" 选项,并指定原始类的新名称。IntelliJ IDEA 会将所有原始类的用法改为只在仍然需要的地方执行的用法。
指定新的接口所在的包。
在 "成员" 中选择要在接口中列出的类成员以形成接口区域。该列表显示了该类的所有方法,以及最终的静态字段(常量)。
在 JavaDoc 区域,选择要应用于 JavaDoc 的操作。
若要将其保留在其所在的位置,请选择 "As" 选项。
要将其复制到提取的接口,请选择 "复制" 选项。
要将其移动到提取的接口,请选择 "移动" 选项。
单击 "重构" 以继续。
在准备就绪时单击 "重构"。如果 IntelliJ IDEA 在 "查找工具" 窗口中显示重构预览,请查看建议的更改。要提取接口并应用建议的更改,请单击 "执行重构"。
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟