Java教程

Java注解

本文主要是介绍Java注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  1. RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。

  2. RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM
    中。//那么在编译的时候编译器检测到这个注解,如果有错误,会报错

  3. Annotation类型使用关键字@interface而不是interface
    这个关键字声明隐含了一个信息:它是继承了java.lang.annotation.Annotation接口,并非声明了一个interface
    Java注解深入浅出

public @interface MyAnnotation {
    /*
    注解当中的属性可以是哪一种类型?
        属性的类型可以是:
            byte short int long float double boolean char String Class 枚举类型;不可以是其他类型
            以及以上每一种的数组形式。
     */
    int value1();

    String value2();

    int[] value3();

    String[] value4();

    Season value5();

    Season[] value6();

    Class parameterType();

    Class[] parameterTypes();
}



//注解有数组类型的话,{}可以省略;
//注解内有元素的话,()不可省略
public @interface OtherAnnotation {
    /*
    年龄属性
     */
    int age();

    /*
    邮箱地址属性,支持多个
     */
    String[] email();

    /**
     * 季节数组,Season是枚举类型
     * @return
     */
    Season[] seasonArray();
}
/
public class OtherAnnotationTest {

    // 数组是大括号
    @OtherAnnotation(age = 25, email = {"zhangsan@123.com", "zhangsan@sohu.com"}, seasonArray = Season.WINTER)
    public void doSome(){

    }

    // 如果数组中只有1个元素:大括号可以省略。
    @OtherAnnotation(age = 25, email = "zhangsan@123.com", seasonArray = {Season.SPRING, Season.SUMMER})
    public void doOther(){

    }

}


这篇关于Java注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!