有没有办法自动覆盖NetBeans中的方法?

Tha*_*nuj 1 java overriding netbeans superclass

我必须从一个超类中覆盖几个Java类.我使用了建议和快捷方式.NetBeans会自动覆盖这些方法.

但是当我需要在超类中更改方法时,我必须逐个进行.有没有任何方法可以自动覆盖它们?

Shr*_*kla 7

感谢NetBeans,它可以轻松完成.

想象一下这是你的项目结构:

refactordemo
|-- Parent.java
|-- Child.java
Run Code Online (Sandbox Code Playgroud)

这是示例代码:

Parent.java

package refactordemo;
public class Parent {
    public static void main(String[] args) {

    }
    public String method1() {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

Child.java

package refactordemo;
public class Child extends Parent {
    public static void main(String[] args) {

    }
    @Override
    public String method1() {
        return super.method1();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意method1()class Child覆盖method1()class Parent.

现在,如果要更改method1()in 的签名(返回类型,方法名称,参数)class Parent并希望在所有子类中进行更改,那么NetBeans就是您所需要的.

  1. 转到Parent.java(父类)
  2. 找到要更改其签名的方法(method1()在本例中)
  3. 右键单击方法名称
  4. 转到重构>更改方法参数... 在此输入图像描述

那里......你拥有一切.

你能在这做什么:

在此输入图像描述

  1. 添加/删除参数.
  2. 更改现有参数的数据类型.
  3. 更改方法的访问修饰符.
  4. 更改方法的返回类型.
  5. 更改方法的名称.

我做的改变

完成所需的更改后,单击窗口底部的"重构".

任何时候都比ctrl- cctrl- 更好v

请注意,我使用的是NetBeans 8.0.1,但据我所知,此功能自NetBeans 7.3以来就已存在