全网整合营销服务商

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

免费咨询热线: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 


相关文章: 免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  建站之星安装步骤有哪些常见问题?  如何快速生成专业多端适配建站电话?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  重庆市网站制作公司,重庆招聘网站哪个好?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何通过虚拟主机快速搭建个人网站?  Python路径拼接规范_跨平台处理说明【指导】  制作网站的基本流程,设计网站的软件是什么?  如何正确下载安装西数主机建站助手?  如何通过多用户协作模板快速搭建高效企业网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  香港服务器WordPress建站指南:SEO优化与高效部署策略  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  北京制作网站的公司,北京铁路集团官方网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站主机类型有哪些?如何正确选型  如何用wdcp快速搭建高效网站?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  Android滚轮选择时间控件使用详解  5种Android数据存储方式汇总  建站之星备案是否影响网站上线时间?  如何在七牛云存储上搭建网站并设置自定义域名?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  定制建站价位费用解析与套餐推荐全攻略  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  如何快速查询网址的建站时间与历史轨迹?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  深圳网站制作的公司有哪些,dido官方网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  ,柠檬视频怎样兑换vip?  建站之星图片链接生成指南:自助建站与智能设计教程  建站之星2.7模板:企业网站建设与h5定制设计专题  css网站制作参考文献有哪些,易聊怎么注册?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何快速重置建站主机并恢复默认配置?  C#如何序列化对象为XML XmlSerializer用法  建站DNS解析失败?如何正确配置域名服务器?  如何获取上海专业网站定制建站电话?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  宁波免费建站如何选择可靠模板与平台?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  盐城做公司网站,江苏电子版退休证办理流程?  网站设计制作企业有哪些,抖音官网主页怎么设置? 

您的项目需求

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