Java学习笔记----注解属性

该篇主要说明注解属性。

说明

注解属性只有成员变量,不是局部变量。并且注解没有方法。注解的属性方法名字即为该成员变量的名字,返回值即为成员变量的类型。

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();
}

如上代码,变量名字即为 value ,变量类型即为 String[]
如果使用 @SuppressWarnings注解,即如下代码:

@SuppressWarnings(value = {"ss","aa"})
public class AnnotationMain {
}

注解属性只能为8中基本类型、 类、接口、注解及它们的数组。不能使用8中基本类型的包装类。如下代码:

public @interface A {
    byte by();
    int id() default 1;
    short sh();
    long lo();
    double dou();
    float flo();
    char ch();
    boolean b() default true;
}

属性可以指定默认值,使用 default
还有一种情况。如果一个注解内仅仅只有一个名字为 value 的属性时,应用这个注解时可以直接接属性值填写到括号内。

public @interface A {
    int value();
}
@A(5)
public class AnnotationMain {
}

如果属性有默认值,则使用注解时,可以不用指定数值,未指定默认的值,则必须进行填写值,否则会报错。
如果一个注解没有任何属性,则在使用该属性的时候,不用加 () ,如 @A。前提是该注解没有任何属性。

猜你喜欢

转载自blog.csdn.net/dulei17816/article/details/80622760