有什么方法可以自动覆盖 NetBeans 中的方法吗?

Is there any way to override methods in NetBeans automatically?

我必须对来自一个超级 class 的几个 Java class 进行一些覆盖。我使用了建议和快捷方式来做到这一点。 NetBeans 会自动覆盖这些方法。

但是当我需要在超级class中改变一个方法时,我必须一个一个地做。有什么方法可以自动覆盖它们吗?

是的,您可以使用重构菜单 -> 更改方法签名。它将为您处理所有覆盖。

感谢 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();
    }
}

请注意 class Childmethod1() 覆盖了 class Parentmethod1()

现在,如果您想在 class Parent 中更改 method1() 的签名(return 类型、方法名称、参数),并希望在所有子 [=113] 中进行这些更改=]es,那么 NetBeans 正是您所需要的。

  1. 转到Parent.java(父级class)
  2. 找到您要更改其签名的方法(在本例中为method1()
  3. 右击方法名
  4. 转到重构 > 更改方法参数...

那里...你拥有一切。

你可以在这里做什么:

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

进行所需的更改后,单击 window 底部的 'Refactor'。

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

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