Java 通过对某些方法的微小更改来扩展软件包

Java 通过对某些方法的微小更改来扩展软件包,java,extend,Java,Extend,我需要为一个新算法扩展一个java软件包。我已经通过编辑包中的一些类来测试我的更改。现在,我想编写扩展类来扩展包中的原始类,并保持主代码不变。当我向主代码添加方法时,更改很容易 但在这种情况下我该怎么办 class origin { public a_method() { //Some code } } class example extends origin { public a_method() {

我需要为一个新算法扩展一个java软件包。我已经通过编辑包中的一些类来测试我的更改。现在,我想编写扩展类来扩展包中的原始类,并保持主代码不变。当我向主代码添加方法时,更改很容易

但在这种情况下我该怎么办

class origin
{
        public a_method()
    {
        //Some code
    }
}


class example extends origin
{
        public a_method()
    {
        //Everything in the original method but very small changes
    }
}

感谢您帮助电工学习java

使用@Override注释,如下所示:

class Example extends Origin {
  @Override
  public a_method() {
    //Everything in the original method but very small changes
  }
}

我建议保留相同的方法参数和返回值,以免出现问题。

我认为这比看起来要困难一些。您可以使用它来做任何事情,但它有很多限制。如果super无法完成,您可能必须完全重新实现该方法。我是否应该再次使用相同的名称编写该方法?这是否意味着我可以用新名称复制/粘贴我编辑的类版本作为扩展版本?您需要做哪些小更改?如果只需要在原始方法中的代码之前和/或之后添加代码,则可以使用super.a_方法。否则,您可能需要进行一些重构和/或重新设计