java 注解可以继承注解吗
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Inherited
public @interface Regular {
String regular();
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Inherited
public @interface Phone extends Regular{
}
我这样用 报错,怎么写才能对,或支不支持这样写 展开
这个是没有实现的。
解释:注释本身具有针对性,也就是注释是自定义的,根据实际需要可以修改,此类内容并没有固定的内容规范,所以是没办法进行注释继承的,只能继承方法,不能继承注释的。
整个继承层次结构中的父类和子类的所有属性都映射到同一个表中, 他们的实例通过一个辨别符(discriminator)列来区分.:
//父类
@Entity
//继承映射成一张表的表结构是 父类字段+子类字段+一个鉴别字段(因为可以有多个子类继承父类,这个鉴别字段用于分别一条数据记录是属于那个子类的)
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
//鉴别字段 name="鉴别字段名称" discriminatorType 鉴别字段数据类型
@DiscriminatorColumn(
name="planetype",
discriminatorType=DiscriminatorType.STRING
扩展资料:
Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,可以将注解分为:标记注解、单值注解、完整注解三类。
都不会直接影响到程序的语义,只是作为注解(标识)存在,可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件、或者运行时中出现(SOURCE/CLASS/RUNTIME)。
参考资料来源:百度百科-Java 注解