您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
15_注解_自定义注解_属性定义
发布时间:2022-07-07 23:09:04编辑:雪饮阅读()
本讲主要是认识自定义注解的属性定义的十大用法,做好准备,本节内容比较长哦。
那么我们整体的用法如:
Index.java:
package day1.annotation;
public class Index {
/*
* 如果一个注解接口上面仅仅有一个成员方法,则给其传参("这里所谓的传参实际上是对该成员方法的返回值赋值,相当于这里传的值将会以该注解方法的返回值进行返回"(个人理解))
* 每个注解接口的方法传参以"方法名 = 值"的方式
* */
@MyAnnotation3(show1 = 1)
public void annotationUse(){
}
/*
* 多值赋值
* 如果一个注解接口上面有多个成员方法("由于既然是@interface接口形式,则按照惯例,接口中的方法是都要实现的,所以接口中的所有成员方法都要赋值(传参到返回值)"个人理解)
* 成员名与成员值之间也可以紧密点,就是等号左右可以没有空格的,但是多个成员的赋值要以英文逗号分隔
*
* */
@MyAnnotation4(age=24,name="kasumi")
public void annotationUse2(){
}
/*
*注解接口的成员方法中也是可以定义默认值的,这里Myannotation5的name方法就是定义了默认值,
* 用default进行声明(声明于方法的结束括号与分号之前用空格与结束括号保持距离,然后default右边也来一个空格写上默认值,然后默认值后面再来一个空格再就是原来的分号了),
* 那么有了默认值
* 所以这里只传一个age参数的值即可,也就不用实现该注解接口的所有方法赋值了
* */
@Myannotation5(age=24)
public void annotationUse3(){
}
/*
* 当注解接口中有成员方法名为value时候,则可以直接忽略value=xxx的形式,直接写xxx就行了
* 但这样简写的前提是该注解接口中仅仅只有这一个value的成员方法
* */
@Myannotation6(1)
public void annotationUse4(){
}
/*
*注解接口的枚举类型成员赋值直接就是:成员名=枚举类.枚举成员
* 的格式
* */
@Myannotaiont7(per=Person.p1)
public void annotatioinUse5(){
}
/*
* 注解嵌套
* 注解接口的注解类型成员其实就是注解嵌套了,其赋值方式就是:注解接口的成员名=@该注解接口的成员名的class
* */
@Myannotation8(m9=@Myannotation9)
public void annotationUse6(){
}
/*
*注解接口的数组类型成员的赋值,是以大括号来括住这些成员,以英文逗号分隔
* 当要给该数组类型成员只赋值一个值时候,则大括号都是可以省略的
* */
@Myannotation10(strs={"a","b"})
public void annotationUse7(){
}
@Myannotation10(strs="a")
public void annotationUse8(){
}
}
public class Index {
/*
* 如果一个注解接口上面仅仅有一个成员方法,则给其传参("这里所谓的传参实际上是对该成员方法的返回值赋值,相当于这里传的值将会以该注解方法的返回值进行返回"(个人理解))
* 每个注解接口的方法传参以"方法名 = 值"的方式
* */
@MyAnnotation3(show1 = 1)
public void annotationUse(){
}
/*
* 多值赋值
* 如果一个注解接口上面有多个成员方法("由于既然是@interface接口形式,则按照惯例,接口中的方法是都要实现的,所以接口中的所有成员方法都要赋值(传参到返回值)"个人理解)
* 成员名与成员值之间也可以紧密点,就是等号左右可以没有空格的,但是多个成员的赋值要以英文逗号分隔
*
* */
@MyAnnotation4(age=24,name="kasumi")
public void annotationUse2(){
}
/*
*注解接口的成员方法中也是可以定义默认值的,这里Myannotation5的name方法就是定义了默认值,
* 用default进行声明(声明于方法的结束括号与分号之前用空格与结束括号保持距离,然后default右边也来一个空格写上默认值,然后默认值后面再来一个空格再就是原来的分号了),
* 那么有了默认值
* 所以这里只传一个age参数的值即可,也就不用实现该注解接口的所有方法赋值了
* */
@Myannotation5(age=24)
public void annotationUse3(){
}
/*
* 当注解接口中有成员方法名为value时候,则可以直接忽略value=xxx的形式,直接写xxx就行了
* 但这样简写的前提是该注解接口中仅仅只有这一个value的成员方法
* */
@Myannotation6(1)
public void annotationUse4(){
}
/*
*注解接口的枚举类型成员赋值直接就是:成员名=枚举类.枚举成员
* 的格式
* */
@Myannotaiont7(per=Person.p1)
public void annotatioinUse5(){
}
/*
* 注解嵌套
* 注解接口的注解类型成员其实就是注解嵌套了,其赋值方式就是:注解接口的成员名=@该注解接口的成员名的class
* */
@Myannotation8(m9=@Myannotation9)
public void annotationUse6(){
}
/*
*注解接口的数组类型成员的赋值,是以大括号来括住这些成员,以英文逗号分隔
* 当要给该数组类型成员只赋值一个值时候,则大括号都是可以省略的
* */
@Myannotation10(strs={"a","b"})
public void annotationUse7(){
}
@Myannotation10(strs="a")
public void annotationUse8(){
}
}
这里所涉及到的一些注解接口或者说本节的整个demo打包如:
关键字词:java,注解,自定义
下一篇:16_注解_自定义注解_元注解