首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法批注继承的变量问题。最佳替代方案

无法批注继承的变量问题。最佳替代方案
EN

Stack Overflow用户
提问于 2016-01-08 21:14:34
回答 1查看 30关注 0票数 0

我有一个带有带验证注释的变量的类:

代码语言:javascript
复制
    import javax.validation.constraints.NotNull;

    public class Class_A {
      @NotNull
      private String name;

      public getName() {
        return name;
      }

    }

此类在函数中使用:

代码语言:javascript
复制
    public void myFunction(Class_A aObj) {
      System.out.println(aObj.getName());
    }

但是现在,我想有条件地使用验证。我搜索了一下,发现没有办法有条件地检查验证,所以我想我必须将Class_A分成两个类,一个有验证(Class_A_Val),另一个没有验证(Class_A_NoVal)。

通过这样做,我只能想到以下针对myFunction的解决方案:

1)复制myFunction,每个类一个(代码复制)

2)使用抽象方法getName()创建一个抽象类,并让另外两个类继承这个抽象类,这样我就可以调用myFunction(Abstract_Class_A)

3)用getName()方法创建一个接口,并让另外两个类实现这个接口,这样我就可以调用myFunction(Interface_Class_A)

哪种方法被认为是最好的方法?为什么?我倾向于#2。

有没有其他方法来实现这一点?有没有办法注释一个继承的变量?

EN

回答 1

Stack Overflow用户

发布于 2016-01-08 21:27:30

您可以通过使用xml配置来覆盖注释。更多信息here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34677998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档