如何在子类中重写和使用父类方法

时间:2018-07-07 13:39:59

标签: java spring spring-mvc aop

我具有如下图所示的类层次结构,并且在A类(假设)中定义了一个非抽象方法,而后继类(D,E,F,G,H,I)正在调用同一方法。

这些类在api中,因此我无法对其进行更改,但是我想覆盖在A类中定义的myMethod,并且还希望D,E,F,G,H类应该调用新的重写方法。我正在使用Spring4。我可以在不覆盖所有decedents类的情况下进行此更改吗,并且我没有任何更改D,E,F,G,....的选项。我正在使用Java 8,Spring 4。 >

       A (non abstract myMethod)A is Abstract class
      /   \
    B       C 
    /\      / \ \ \
   D  E    F  G H I

1 个答案:

答案 0 :(得分:1)

由于您提到您已经对spring有依赖性,因此可以使用spring-aop来实现。步骤如下:

  • 为方法myMethod()声明一个Around切入点
  • 为覆盖的方法编写任何逻辑。
  • 请勿调用“ joinPoint.proceed();”