注解的使用,为注解中属性赋值

注解中自定义属性

在java语言中,注解是一款非常强大的工具,也许我们刚开始接触java语言时,会觉得注解是一个可有可无的东西,但随着我们知识面的拓宽,知识点的深入,我们会发现注解的魅力,我们会爱上它。
打个比喻,就是刚开始对它弃之不懈,到最后发现真香。
目前注解在实际开发中,最直观的体现就是在SSM框架中。
今天我给大家分享一**解中如何自定义属性值

我们先自定义一个注解

//定义只在类中使用
@Target(ElementType.TYPE)
//定义在运行时有效
@Retention(RetentionPolicy.RUNTIME)
@interface Ano{
//如果注解中只有一个属性,且名称为value,则使用注解时value可以省略,直接定义即可(只需名称是value,类型没有要求)
String value();
//定义一个姓名,采用default赋予初值,被赋初值后使用注解时可以不用对此属性赋值
String name() default “xiaoming”;
//定义一个年龄,未赋予初值,使用注解时必须指定值
int age();
//定义分一个数组,数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略
String[] like();
}

定义一个类,类上使用注解

//@Ano(value=“哈哈”,name=“小黄”,age=10,like=“篮球”) 也可以这样赋值
@Ano(value=“哈哈”,name=“小黄”,age=10,like={“篮球”,“乒乓球”})
class Student{

}

定义一个主类,来取取注解中的值

public class AnnotationTest {
public static void main(String[] args) throws ClassNotFoundException {
//通过类获取类上注解
Ano ano=(Ano)Student.class.getAnnotation(Ano.class);
String value=ano.value();
System.out.println(value);
String name=ano.name();
System.out.println(name);
int age=ano.age();
System.out.println(age);
String[] like=ano.like();
for(String arg:like){
System.out.println(arg);
}
}
}

执行结果如下
注解的使用,为注解中属性赋值

小结:演示的虽仅仅是用来取值,但在实际开发中,我们可以通过取出的值是什么来决定去执行什么操作,或者在类的所有方法中加上注解,并赋予不同的属性值,来检测类上刚刚执行的是什么方法(此操作广泛用于日志记录)。希望这篇文章能够帮助你理解注解,同时让你意识到注解的强大