zoukankan      html  css  js  c++  java
  • 了解java注解

    类似于下面这样的就是注解

    注解可以在类上,成员变量上,方法上等

    假如有2个注解是这样的:(其中的Author和Date)

    那么这2个注解的定义就是这样的:

    Author注解:

    Date注解:

    可以看到注解的定义和接口的定义比较类似,而Author注解中有name属性,所以使用Author的时候比较要填写name属性值

    如果想要注解有默认值,可以这样:

    这样使用Author注解时age属性值就可以不用填写,一个注解有多个属性值时使用时用逗号隔开

    如果注解中只定义了1个属性且名称为value,那么使用时名称可省略,像这样:

    注解也是一种类型,既然可以定义,那么也是可以获取的,像这样:

    运行你会发现是会报错的,难道是代码错了,其实并不是,是注解的保留策略没有更改

    再就要谈到元注解了,元注解就是注解类型上的注解,先看一下注解@Override的元注解

    其中@Target和@Retention就是元注解,其中@Target表示注解的应用范围,@Retention表示注解的保留策略

    这两个注解可以根据java.lang.annotation接口去查阅

    java.lang.annotation.RetentionPolicy

    所以只需要将@Retention的值设置为RUNTIME就可以读取注解了,它的默认值是CLASS

    java.lang.annotation.ElementType

    @Target的默认值应该是这所有的(这个我没有尝试啊)

    看到这里就应该知道怎么解决刚才报错的问题了

    只需要在自定义注解上加上元注解@Retention就行了,当然,也可以设置一下注解@Target,就像这样:

      Author注解:

      Date注解:

    再运行就可以得到结果了

    还有刚才提到的关于注解的继承,也是使用元注解:@Inherited

    注解默认不继承,不过这继承也是有限制的

    @Inherited   //表示注解是否能继承, 只能作用在类上, 只对类的继承有效, 对实现接口无效

    注解可能用到的地方不多,不过了解注解可以让我们更理解一些东西。比较springmvc中的注解等

    
    
    
    
    
    唯一激励你前行的是你的心
  • 相关阅读:
    实验七:类的多态性
    实验六:类的封装(P105 3-35)
    实验五:任意输入10个int类型数据,排序输出,再找出素数
    第三周学习总结
    hbase对Java的简单操作
    hbase的shell命令
    需求工程3
    需求工程2
    软件需求1
    认识软件需求
  • 原文地址:https://www.cnblogs.com/pdzbokey/p/6117319.html
Copyright © 2011-2022 走看看