Ger*_*ort 1 java oop inheritance annotations
我需要检查,形成超类,如果派生类有一个特定的注释:
public class SuperClass
{
public boolean hasAnnotation()
{
//super_class_method_code
}
}
@annotationToCheck
public class DerivedClass extends SuperClass
{
//derived_class_code
}
Run Code Online (Sandbox Code Playgroud)
有可能在Java?我知道如何在C#中做,但在Java中我找不到任何解决方案...... :(
谢谢!!!
如果您的实例实际上是子类类型,那么就像在超类中定义方法以实现以下实现一样简单:
this.getClass().isAnnotationPresent(annotationToCheck.class);
Run Code Online (Sandbox Code Playgroud)
由于它this是DerivedClass的一个实例,getClass返回DerivedClass并且检查有效.
注意2:正如@Pshemo在注释中提到的那样,这仅在注释注释时有效@Retention(RetentionPolicy.RUNTIME).
| 归档时间: |
|
| 查看次数: |
3754 次 |
| 最近记录: |