全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java注解的全面分析

全面解析java注解

Java中的常见注解

a.JDK中的注解

    @Override 覆盖父类或者父接口的方法
    @Deprecated 表示方法已经过时
    @SuppressWarnings("deprecation") 忽略方法过时警告

b.常见的第三方注解

    例如Spring中的@Autowired(自动注入)

注解的分类

a.按照运行机制分

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

    2.编译时注解
        注解在源码和class文件中都存在
        eg:@Override、@Deprecated、@SuppressWarnings

    3.运行时注解
        在运行阶段还起作用,甚至会影响运行逻辑
        eg:@Autowired

b.按照来源分

    1.来自JDK的注解
    2.来自第三方的注解
    3.自定义注解

c.元注解:注解的注解

自定义注解

1.自定义注解的语法要求

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Description {
  String desc();
  String author();
  int age() default 18;
}

注意:

  • 使用@interface关键字定义注解
  • 成员以无参无异常方式声明
  • 可以用default为成员指定一个默认值
  • 成员类型是受限的,合法的类型包括原始类型以及String、Class、Annotation、Enumeration
  • 如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)
  • 注解类可以没有成员,没有成员的注解称为标识注解

2.元注解

a.@Target({ElementType.METHOD,ElementType.TYPE})

注解的作用域:

  • ElementType.CONSTRUCTOR 构造方法声明
  • ElementType.FIELD 字段声明
  • ElementType.LOCAL_VARIABLE 局部变量声明
  • ElementType.METHOD 方法声明
  • ElementType.PACKAGE 包声明
  • ElementType.PARAMETER 参数声明
  • ElementType.TYPE 类、接口

b.@Retention(RetentionPolicy.RUNTIME)

注解的生命周期:

  • RetentionPolicy.SOURCE 只在源码显示,编译时会丢弃
  • RetentionPolicy.CLASS 编译时会记录到class中,运行时忽略
  • RetentionPolicy.RUNTIME 运行时存在,可以通过反射读取

c.@Inherited

标识性的元注解:允许子类继承

d.@Documented

生成javadoc时会包含注解

使用自定义注解
语法:@注解名(成员1=成员值1,成员2=成员值2)

@Description(desc="I am demo",author="boy",age=18)
public void demo(){}

解析注解

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

以上就是java 注解的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 注解  # 注解的详解  # 分析java注解  # Java注解与反射原理说明  # Java注解处理器学习之编译时处理的注解详析  # Java注解Annotation与自定义注解详解  # Java注解处理器简单实例  # Java注解机制之Spring自动装配实现原理详解  # 深入理解 Java注解及实例  # 浅谈Java注解和动态代理  # 详解Java注解的实现与使用方法  # 深入理解Java注解的使用方法  # 全面剖析java中的注解(Annotation)  # 自定义  # 只在  # 第三方  # 子类  # 就不  # 控制程序  # 如有  # 可以用  # 可以通过  # 希望能  # 只有一个  # 谢谢大家  # 中都  # 运行机制  # 默认值  # 疑问请  # 编译成  # brush  # import  # pre 


相关文章: 如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何选择域名并搭建高效网站?  建站主机服务器选购指南:轻量应用与VPS配置解析  图册素材网站设计制作软件,图册的导出方式有几种?  小型网站制作HTML,*游戏网站怎么搭建?  建站之星云端配置指南:模板选择与SEO优化一键生成  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  如何快速搭建高效简练网站?  建站168自助建站系统:快速模板定制与SEO优化指南  学校为何禁止电信移动建设网站?  如何在阿里云虚拟服务器快速搭建网站?  建站之星如何一键生成手机站?  ,石家庄四十八中学官网?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站VPS能否同时实现高效与安全翻墙?  网站制作公司排行榜,抖音怎样做个人官方网站  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  平台云上自助建站如何快速打造专业网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  广德云建站网站建设方案与建站流程优化指南  香港服务器网站卡顿?如何解决网络延迟与负载问题?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  建站之星2.7模板:企业网站建设与h5定制设计专题  如何正确下载安装西数主机建站助手?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站与域名管理如何高效结合?  中山网站制作网页,中山新生登记系统登记流程?  微信h5制作网站有哪些,免费微信H5页面制作工具?  已有域名能否直接搭建网站?  建站之星后台管理如何实现高效配置?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  如何快速搭建高效WAP手机网站吸引移动用户?  建站之星北京办公室:智能建站系统与小程序生成方案解析  建站之星24小时客服电话如何获取?  建站之星后台管理系统如何操作?  如何在橙子建站上传落地页?操作指南详解  如何安全更换建站之星模板并保留数据?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何在香港免费服务器上快速搭建网站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  制作表格网站有哪些,线上表格怎么弄?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  个人摄影网站制作流程,摄影爱好者都去什么网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。