繁体   English   中英

是否可以禁止注释 inheritance?

[英]Is it possible to forbid annotation inheritance?

我有一个 controller 超类及其子类:

public class SuperController {
    @Resource
    private A resourceA;
}

public class SubController extends SuperController {
    @Resource
    private B resourceB;
}

我没有在Subcontroller中使用resourceA字段,但是Subcontroller充当SuperController并且具有相同的方法。 那么如何禁止@Resource注解的inheritance,就像这样:

public class SuperController {
    **private** @Resource
    private A resourceA;
}

如果子类不使用父 class 的某些字段,听起来您需要一个通用的抽象 class。

public abstract class AbstractController {
    // common fields.
    // common methods.
}

public class SuperController extends AbstractController {
    @Resource
    private A resourceA;
}

public class SubController extends AbstractController {
    @Resource
    private B resourceB;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM