JSRUN 用代码说话

提取超类

编辑教程

提取超类

提取超类重构有两个选项:

根据现有的类创建一个超类。
重命名原始类,以便它成为新创建的超类的实现。在这种情况下,IntelliJ IDEA 会将所有原始类的用法更改为在可能的情况下使用超类。

原始类中的字段和方法可以移动到超类。同样,对于一个方法,你只能传递方法声明,而不是在超类中将方法声明为抽象的实现。因此,您将拥有超类和从超类继承的原始类。

提取超类重构前

// File Class.java
public class Class {
    public int varInt;
    private double varDouble;
    public static final int CONSTANT = 0;
    public void publicMethod() {
        ...
    }
    public void hiddenMethod() {
        ...
    }
    public void setVarDouble(double var) {
        this.varDouble = var;
    }
    public double getVarDouble() {
        return
                  varDouble;
    }
}

提取超类重构后

// File Class.java
public class Class extends SuperClass {
Int;
blicMethod() {
ddenMethod() {
lass.java
ass SuperClass {
 varDouble;
final int CONSTANT = 0;
t void publicMethod();
tVarDouble(double var) {
uble = var;

getVarDouble() {
Double;

提取超类

在其中一个视图中选择所需的类,或者只是在编辑器中打开它。
在主菜单或上下文菜单上,选择:重构丨 提取丨 超类(Refactor 丨 Extract 丨 Superclass)。
在提取超类对话框中:
要创建一个新的超类,请选择 "提取超类" 选项并指定新超类的名称。
要重命名原始类并使其成为新创建的超类的实现,请选择 "重命名原始类",并在可能的情况下使用超类, 并指定原始类的新名称。IntelliJ IDEA 会将所有原始的类用法改为实现类的用法,只有在它仍然是必要的时候。
指定新的超类所在的包。
在 "组成超类的成员" 区域中,选择要移动或委派给超类的类成员。
若要在当前类中保留方法实现,并在提取的超类别中声明它为抽象,请选中 "使抽象" 复选框。
在 JavaDoc 区域,选择要应用于 JavaDoc 的操作。
若要将其保留在其所在的位置,请选择 "As" 选项。
要将其复制到提取的超类,请选择 "复制" 选项。
要将其移动到提取的超类,请选择 "移动" 选项。
单击 "重构" 以继续。
如果该类在当前项目中使用,则 IntelliJ IDEA 建议将该类的实例替换为新的超类的实例。如果一个类实例引用一个未在超类​​中定义的成员,将不会被建议替换。
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟