黑马程序员——简析java注解

1.概述

java中的注解就是如下图所示,注解是我们在开发时经常见到的东西。


我们为什么要学习注解呢?学习注解又有什么好处呢?学完注解我们能做什么?

 1学习注解有助于我们读懂别人的代码,尤其是关于框架的代码。

2可以使我们编程可以变得简单,代码更加清晰

3可以让别人高看一眼。

会用不是重点,重点是我们可以通过自定义注解解决问题。

1.1概念

          注解是java中提供了一种原程序中的元素关联任何信息和任何元素的途径和方法。

2java中的常见注解

jdk 自带的注解

  

2.1 @Override      重写方法时使用的标记  ,表示覆盖父类方法

@Deprecated    表示方法已过时,单同时有人可能正在使用无法修改  是用此注解标识,对于标示过的方法

重写时会在 代码中提示方法已过时。

@Suppvisewarning   如果我们须要使用已过时方法,有不编译工具提示就可以使用此标示,

格式@Suppvisewarning("deprecation")表示忽略过时

2.2常见的第三方注解

@Autowired @InsertProvider

Spring @Service @Mybatis @UpdateProvider

@Repository @Options

  可以简化代码。

3 注解的分类

  3.1分类 机制

     3.11按照源码注解

注解只在源码中存在,编译成.class文件就不存在了。

 3.12编译时注解

注解在源码和.class文件中都存在

@Override@Deprecated  @Suppvisewarning 属于编译器注解

 3.13运行时注解

在运行阶段还起作用,甚至会影响运行逻辑的注解

@Autowired属于运行时注解

    3.2按照来源来分

3.21来自jdk 的注解

3.22来自第三方的注解

我们大部分解除的注解

3.33我们自定义的注解

3.3元注解

注解的注解

4自定义注解(重点)

       4.1自定义注解的语法要求

                   

    4.11   成员类型是有限制的,合法的类型包括基本类型及String,Class,Annotation,Enumeration.

    4.12    注解只有一个成员时,成员名称必须取名为value(),使用时可以互虐成员名和赋值号(=)

    4.13    注解内可以没有成员,没有成员的注解成为标示注解 

4.2注解的注解(元注解)

      这就是元注解

    表示注解的作用域

   注解作用域列表  

1.CONSTRUCTOR

构造函数声明

2.FIELD

字段声明

3.LOCAL_VARIABLE

局部变量

4.METHOD

方法声明

5.PACKAGE

包声明

6.PARAMETER

参数声明

7.TYPE

类/接口声明

生命周期

SOURCE

只在源码显示编译时会丢弃

CLASS

编译是会记录到class中,运行时忽略

RUNTIME

运行时存在,可以通过反射读取


允许子类继承

生成javaDoc时会包含注解信息

4.3使用自定义注解

使用语法

@<注解名>(<成员名1>=<成员值1>,<成员名1>=<成员值1>.....)

4.4解析注解

通过反射或去类,函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值