阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_15_注解_自定义注解_属性定义







public abstract可以省略

注解里面不允许返回void类型

new一个class选择枚举类型

Person这个就是一个枚举类

返回一个枚举类型

再定义一个注解类



注解里面可以返回另外一个注解的类

返回一个字符串的数组


定义一个Worker的class类型

返回普通的类为注解的类型 不可以!

使用注解

其他都注释掉。只保留int 类型的show1方法

使用我们定义的这个注解,提示有一些属性没有赋值

缺少show1的必须的一个值

show1方法就是注解的属性名。

所以我们在给注解的方法名 起名字的时候尽量起的名字像是属性。例如下面修改为age



再定义一个String类型的name

多个值用逗号隔开

default属性默认值

不想给name这个值赋值,可以加一个默认值。在定义的时候默认值为张三

那么下面name的值就不是必须要赋值了


特殊的属性名value


把方法名改成value,value是一个特殊的名

那么在使用注解的时候就是

如果你只有一个属性需要赋值,并且这个属性叫做value的话可以省略






例如这里@SupperessWarnings里面没写属性名,那么属性名肯定是叫做value



源码里面 这个属性名确实是value

枚举类型的赋值

如果是以偶多个属性需要赋值,这里的value是不能省略的

枚举类型的赋值。相当于我们的静态常量

注解类型的赋值


 

数组类型赋值

用大括号包裹起来

如果数组内只有一个值的话,大括号是可以省略


 

总结


 

posted @ 2019-08-02 14:58  高山-景行  阅读(103)  评论(0编辑  收藏  举报