[Java基础]自定义注解之属性定义
Posted Wecccccccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java基础]自定义注解之属性定义相关的知识,希望对你有一定的参考价值。
代码如下:
package AnnoDemo01;
public enum Person {
p1,p2;
}
package AnnoDemo01;
public @interface MyAnno2 {
}
package AnnoDemo01;
public @interface MyAnno {
int show1();
String show2();
Person per();
MyAnno2 ann02();
String[] strs();
}
定义了属性,在使用时需要给属性赋值
示例代码如下:
package AnnoDemo01;
public @interface MyAnno {
int show1();
String show2();
int show3() default 3;
// Person per();
//
// MyAnno2 ann02();
//
// String[] strs();
}
package AnnoDemo01;
@MyAnno(show1 = 1,show2 = "zhangs")
public class Worker {
}
如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
示例代码如下:
package AnnoDemo01;
public @interface MyAnno {
int value();
// int show1();
// String show2();
//
// int show3() default 3;
// Person per();
//
// MyAnno2 ann02();
//
// String[] strs();
}
package AnnoDemo01;
@MyAnno(1)
public class Worker {
}
其他属性怎么赋值?
示例代码如下:
package AnnoDemo01;
public @interface MyAnno {
int value();
// int show1();
// String show2();
//
// int show3() default 3;
Person per();
//
MyAnno2 ann02();
//
String[] strs();
}
package AnnoDemo01;
@MyAnno(value = 3,per = Person.p1,ann02 = @MyAnno2,strs = {"abc","bbb"})
public class Worker {
}
以上是关于[Java基础]自定义注解之属性定义的主要内容,如果未能解决你的问题,请参考以下文章
Android APT注解处理器 ( 根据注解生成 Java 代码 )