java - 删除子类中的注释?

标签 java annotations

我有一个子类,它需要一个注解,在父类中声明已删除。执行此操作的最佳方法是什么?

public class Parent

@MyAnnoation
String foobar;

}


public class Child extends Parent {
//here I only want to remove the @MyAnnotation from String foobar;

}

我想避免的是“覆盖”成员

 public class Child extends Parent {

 String foobar;

 }

因为这有几个缺点(因为它“覆盖”了底层父成员 = this.foobar 可以不同于 super.foobar)...

1.) 是否有一种简单的方法可以从子类(此处为子类)的父类中删除注释?

2.) 在子类中删除注解的官方方法是什么?

非常感谢!马库斯

最佳答案

如果你想做这样的事情,你可能应该再看看你的设计。

我认为,如果有一种方法可以删除运行时注释,那么我们不推荐这样做,因为您会删除类定义的一部分。例如删除成员访问修饰符。

这可能会对您的逻辑产生意想不到的结果,因为其他代码可能依赖这些定义来做出运行时决策。

如果您需要在运行时修改类定义,那么一开始就不应该以这种方式定义此类。

关于java - 删除子类中的注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6467511/

相关文章:

java - 使用注释和属性文件中定义的类型的 Spring Autowiring ?

java - 枚举静态数组和注解值混淆

java - 将 Java 对象/字符串转换为实际类

java - @scope - spring - 使用注释设置范围 "prototype",行为类似于单例。我哪里出错了?

jakarta-ee - JavaEE6 启用/禁用 webfilter 无需重新编译

java - 我们给 spring 注解起个名字是有原因的吗?

java - 从迭代列表中保存对象

java - MergeSort 不稳定

java - 来自 PMD 的 DD/DU 警告

java.lang.NoClassDefFoundError Spark-submit 使用其他项目中的类