欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java注解示例,java注解,java注解示例MyAn

来源: javaer 分享于  点击 37606 次 点评:106

java注解示例,java注解,java注解示例MyAn


java注解示例

MyAnnotation.java

package cn.itcast.gz;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/* * 要加上RetentionPolicy.RUNTIME,注解才保留到运行时,RetentionPolicy是一个枚举, * 取值有CLASS,RUNNTIME,SOURCE * CLASS:表示注解保留在class文件中,不保留到类被加载到JVM中运行的时候 * RUNNTIME:表示注解既保留在class文件中,又保留到JVM加载类运行的时候。 * SOURCE:表示注解只在编译是被编译器检查,并不保留在class文件中 *//* * 注解相当于是一个类 *//* * ElementType.TYPE表示该注解可以标注在一个类、接口,枚举身上,为什么用TYPE,而不是Class呢? * 因为TYPE表是的范围更加广,除了可以表示Class之外,还可以表示interface Enum等 *//* * 注解的注解称为元注解 */@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public @interface MyAnnotation {    //注解的属性是字符串类型    String name() default "龙";    //注解的属性是数组    String [] tels() default {"136","137"};    //注解的属性是枚举    MyEnum season() default MyEnum.Spring;    //注解的属性类型是注解    MetaAnnotation age() default @MetaAnnotation(age=25);    String value();} 

AnnotationTest.java

package cn.itcast.gz;/* * @某个注解,相当于是某个注解的一个实例,注解也相当于是一个类 */@MyAnnotation(name="long",tels={"110","120"},season=MyEnum.Winter,age=@MetaAnnotation(age=18), value = "value属性的值")//当注解中只有名字为value的属性是,value可以省略,如果还有其他属性,value不能省略//@MyAnnotation("value属性的值")public class AnnotationTest {    /**     * @param args     */    public static void main(String[] args) {        //通过反射判断AnnotationTest上面是否有@MyAnnotation标记        if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class))        {            //得到注解的实例            MyAnnotation annotation = (MyAnnotation)AnnotationTest.class.                    getAnnotation(MyAnnotation.class);            //取出注解上面的name属性            System.out.println(annotation.name());            //取出注解上面的tels属性            System.out.println(annotation.tels());            //取出注解上面的season属性            System.out.println(annotation.season());            //取出注解上面的age属性            System.out.println(annotation.age().age());        }    }}
相关栏目:

用户点评