子类可以继承到父类上的注解吗?
我们知道在编写自定义注解时,可以通过指定@Inherited注解,指明自定义注解是否可以被继承。但实现情况又可细分为多种。
测试环境如下:
父类的类上和方法上有自定义的注解--MyAnnotation
子类继承了这个父类,分别:
子类方法,实现了父类上的抽象方法
子类方法,继承了父类上的方法
子类方法,覆盖了父类上的方法
MyAnnotation自定义注解
-
package test.annotation;
-
import java.lang.annotation.Inherited;
-
import java.lang.annotation.Retention;
-
/**
-
* 自定义注解
-
*/
-
//@Inherited //可以被继承
-
@Retention (java.lang.annotation.RetentionPolicy.RUNTIME) //可以通过反射读取注解
-
public @interface MyAnnotation {
-
String value();
-
}
父类
-
package test.annotation;
-
@MyAnnotation (value = "类名上的注解" )
-
public abstract class ParentClass {
-
@MyAnnotation (value = "父类的abstractMethod方法" )
-
public abstract void abstractMethod();
-
@MyAnnotation (value =