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

时间:2015-06-30 03:21:33

标签: java netbeans superclass override

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

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

2 个答案:

答案 0 :(得分:7)

感谢NetBeans,可以轻松完成。

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

refactordemo
|-- Parent.java
|-- Child.java

这是示例代码:

<强> Parent.java

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

    }
    public String method1() {
        return null;
    }
}

<强> Child.java

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

    }
    @Override
    public String method1() {
        return super.method1();
    }
}

请注意method1()的{​​{1}}会覆盖class Child的{​​{1}}。

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

  1. 转到Parent.java(父类)
  2. 找到您要更改其签名的方法(在这种情况下为method1()
  3. 右键单击方法名称
  4. 转到重构&gt;更改方法参数... enter image description here
  5. 那......你拥有一切。

    你可以在这做什么:

    enter image description here

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

      完成所需更改后,单击窗口底部的“重构”。

      任何时候都比 ctrl - c ctrl - v

      更好

      请注意我使用的是 NetBeans 8.0.1 ,但据我所知,此功能自 NetBeans 7.3

      以来就已存在

答案 1 :(得分:0)

是的,你可以使用Refactor菜单 - &gt;更改方法签名。它将为您解决所有问题。