Java 调用父类后构造方法而不是子类
我有一个特殊的要求,即调用父类postcontract而不是子类Java 调用父类后构造方法而不是子类,java,spring,dependency-injection,postconstruct,Java,Spring,Dependency Injection,Postconstruct,我有一个特殊的要求,即调用父类postcontract而不是子类 import javax.annotation.PostConstruct; public class Parent { public Parent(){ System.out.println("In parent contructor"); } @PostConstruct public void test(){ System.out.println("In
import javax.annotation.PostConstruct;
public class Parent {
public Parent(){
System.out.println("In parent contructor");
}
@PostConstruct
public void test(){
System.out.println("In parent post construct");
// call the child's class method
this.test()
}
}
import org.springframework.stereotype.Service;
@Service("Child")
public class Child extends Parent{
public void test(){
System.out.println("In child post construct method");
}
}
因此,使用Spring的服务注释子类被加载,使用PostContractAnnotation调用子类的类测试方法,但我们的要求是调用父类,从父类调用子类的类测试方法
有没有办法达到同样的效果,我们不想引入新方法或改变方法逻辑如果你不需要孩子的特定行为,你就不能简单地忽略它。如果在child中没有textMethod,则可能会使用父级的方法
如果要向孩子添加特定的行为,请添加@Override注释,并在需要时调用super.testMethod()。Ehrm。如果不重写该方法,按照此处发布的操作将导致堆栈溢出。创建一个从
testMethod
en调用的方法,实现该方法,但不要重写方法。在spring框架本身的几个类中也是如此。