当前位置: 首页 > news >正文 南通网站优建设大网站 news 2025/10/26 12:44:43 南通网站优建设,大网站,上海闵行网站建设公司,市住房和城乡规划建设局网站文章目录1.概述2.注解的分类2.1 JDK注解2.2 元注解2.2.1 Target ElementType…2.2.2 Retention RetentionPolicy…3 自定义注解1.概述 在注解刚出现时#xff0c;曾受到过好多程序员的鄙夷#xff0c;觉得这就是多此一举的操作#xff1b; 但随着时间的推移#xff0c;越… 文章目录1.概述2.注解的分类2.1 JDK注解2.2 元注解2.2.1 Target ElementType…2.2.2 Retention RetentionPolicy…3 自定义注解1.概述 在注解刚出现时曾受到过好多程序员的鄙夷觉得这就是多此一举的操作 但随着时间的推移越来越的多觉得使用注解是一个无比轻松愉快的事情它可以大大的提高开发效率 注解很厉害它可以增强我们的java代码同时利用反射技术可以扩充实现很多功能。它们被广泛应用于三大框架底层。 传统我们通过xml文本文件声明方式(如下图,但是XML比较繁琐且不易检查)而现在最主流的开发都是基于注解方式代码量少框架可以根据注解去自动生成很多代码从而减少代码量程序更易读。例如最火爆的SpringBoot就完全基于注解技术实现。 注解设计非常精巧初学时觉得很另类甚至多余甚至垃圾。有了java代码干嘛还要有注解呢但熟练之后你会赞叹它竟然可以超越java代码的功能让java代码瞬间变得强大。大家慢慢体会吧。 2.注解的分类 注解一共分为3大类,我们先来认识一下: JDK自带注解元注解自定义注解 2.1 JDK注解 JDK注解的注解就5个 Override :用来标识重写方法Deprecated标记就表明这个方法已经过时了但我就要用别提示我过期SuppressWarnings(“deprecation”) 忽略警告SafeVarargs jdk1.7出现堆污染不常用FunctionallInterface jdk1.8出现配合函数式编程拉姆达表达式不常用 2.2 元注解 用来描述注解的注解就5个 Target 注解用在哪里类上、方法上、属性上等等Retention 注解的生命周期源文件中、字节码文件中、运行中Inherited 允许子注解继承Documented 生成javadoc时会包含注解不常用Repeatable注解为可重复类型注解可以在同一个地方多次使用不常用 2.2.1 Target ElementType… 描述注解存在的位置 ElementType.TYPE 应用于类的元素 ElementType.METHOD 应用于方法级 ElementType.FIELD 应用于字段或属性(成员变量) ElementType.ANNOTATION_TYPE 应用于注解类型 ElementType.CONSTRUCTOR 应用于构造函数 ElementType.LOCAL_VARIABLE 应用于局部变量 ElementType.PACKAGE 应用于包声明 ElementType.PARAMETER 应用于方法的参数 2.2.2 Retention RetentionPolicy… 该注解定义了自定义注解被保留的时间长短,比如某些注解仅出现在源代码中而被编译器丢弃而另一些却被编译在class文件中 编译在class文件中的注解可能会被虚拟机忽略而另一些在class被装载时将被读取。 为何要分字节码文件中有还是没有呢如果没有时反射技术就拿不到从而就无法去识别处理。它的值一共3种: SOURCE 在源文件中有效即源文件保留 CLASS 在class文件中有效即class保留 RUNTIME 在运行时有效即运行时保留 3 自定义注解 注意注解的语法写法和常规java的语法写法不同 package partFour;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*本类用于完成自定义注解*/public class TestAnotation { } //2.通过Target注解标记自定义注解的使用位置 /*3.通过元注解Target规定自定义注解可以使用的位置* 我们使用ElemetType.静态常量的方式来指定自定义注解具体可以加在什么位置* 而且值可以写多个格式Target({ElementType.xxx,ElementType.xxx})*/ Target({ElementType.METHOD,ElementType.TYPE}) //3.通过Retention注解标记自定义注解的生命周期 /*4.通过元注解Retention规则自定义注解的生命周期* 我们使用Retention.静态常量的方式来指定自定义注解的生命周期* 注意值只能写一个SOURCE CLASS RUNTIME*/ Retention(RetentionPolicy.RUNTIME)//到运行时都有效 //1.定义自定义注解/* 1.首先注意:注解定义的语法与java不同* 2.定义自定义注解的格式interface 注解名*/ interface Rice{//5.我们可以给注解进行功能增强--添加注解的属性/*5.注意int age();不是方法的定义而是给自定义注解添加了一个age属性*///int age();//给自定义注解添加一个普通属性age类型是intint age() default 0;//给自定义注解的普通属性赋予默认值0/*6.注解中还可以添加特殊属性value* 特殊属性的定义方式和普通属性一样主要是使用方式不同* 注意特殊属性的名字必须叫value但是类型不做限制* 特殊属性也可以赋予默认值格式与普通属性一样不能简写*///String value(); //定义一个特殊属性value类型是StringString value() default lemon;//定义特殊属性并给特殊属性并赋值 }//4.定义一个类用来测试自定义注解 //Rice class TesAnno{/*测试1分别给TestAnno类 name属性 eat方法都添加Rice注解* 结论属性上的注解报错了说明自定义注解可以加在什么位置由Target决定*///RiceString name;/*测试2当我们给Rice注解添加了一个age属性以后Rice注解使用时直接报错* 结论当注解没有定义属性时可以直接使用* 当注解定义了属性以后必须给属性赋值格式Rice(age 10)*//*测试3给age属性赋予默认值以后可以直接使用Rice注解* 不需要给age属性赋值因为age属性已经有默认值0了*//*测试4给Rice注解添加了特殊属性value以后必须给属性赋值* 只不过特殊属性赋值时可以简写成Rice(apple)*//*测试5如果特殊属性也赋予了默认值那么可以直接使用这个注解* 如果要给注解的所有属性赋值每条赋值都不能简写*/Rice(age 10,value orange)//Rice(apple)//特殊属性可以简写//Rice(age 10)//普通属性赋值形式//Rice(10) //不能简写普通属性没有这种格式public void eat(){System.out.println(干饭不积极思想有问题);} } 文章转载自: http://www.morning.yjknk.cn.gov.cn.yjknk.cn http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn http://www.morning.gediba.com.gov.cn.gediba.com http://www.morning.lhqw.cn.gov.cn.lhqw.cn http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn http://www.morning.ldgqh.cn.gov.cn.ldgqh.cn http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn http://www.morning.drbwh.cn.gov.cn.drbwh.cn http://www.morning.kpgft.cn.gov.cn.kpgft.cn http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn http://www.morning.gtbjc.cn.gov.cn.gtbjc.cn http://www.morning.fhntj.cn.gov.cn.fhntj.cn http://www.morning.nypgb.cn.gov.cn.nypgb.cn http://www.morning.qytpt.cn.gov.cn.qytpt.cn http://www.morning.sacxbs.cn.gov.cn.sacxbs.cn http://www.morning.wftrs.cn.gov.cn.wftrs.cn http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn http://www.morning.wmdlp.cn.gov.cn.wmdlp.cn http://www.morning.btmwd.cn.gov.cn.btmwd.cn http://www.morning.jyzxt.cn.gov.cn.jyzxt.cn http://www.morning.yppln.cn.gov.cn.yppln.cn http://www.morning.zxhpx.cn.gov.cn.zxhpx.cn http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.zhqfn.cn.gov.cn.zhqfn.cn http://www.morning.yqzyp.cn.gov.cn.yqzyp.cn http://www.morning.bpyps.cn.gov.cn.bpyps.cn http://www.morning.rhchr.cn.gov.cn.rhchr.cn http://www.morning.ylljn.cn.gov.cn.ylljn.cn http://www.morning.mmplj.cn.gov.cn.mmplj.cn http://www.morning.mqwnz.cn.gov.cn.mqwnz.cn http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.wklmj.cn.gov.cn.wklmj.cn http://www.morning.srjbs.cn.gov.cn.srjbs.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.yrycb.cn.gov.cn.yrycb.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.kjrp.cn.gov.cn.kjrp.cn http://www.morning.pcjw.cn.gov.cn.pcjw.cn http://www.morning.llxqj.cn.gov.cn.llxqj.cn http://www.morning.kzrbd.cn.gov.cn.kzrbd.cn http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn http://www.morning.wrkhf.cn.gov.cn.wrkhf.cn http://www.morning.prgnp.cn.gov.cn.prgnp.cn http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn http://www.morning.yhpq.cn.gov.cn.yhpq.cn http://www.morning.snbrs.cn.gov.cn.snbrs.cn http://www.morning.crkhd.cn.gov.cn.crkhd.cn http://www.morning.tpdg.cn.gov.cn.tpdg.cn http://www.morning.plhyc.cn.gov.cn.plhyc.cn http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn http://www.morning.wljzr.cn.gov.cn.wljzr.cn http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn http://www.morning.rynq.cn.gov.cn.rynq.cn http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.pflpb.cn.gov.cn.pflpb.cn http://www.morning.hxlch.cn.gov.cn.hxlch.cn http://www.morning.xjmpg.cn.gov.cn.xjmpg.cn http://www.morning.syynx.cn.gov.cn.syynx.cn http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn http://www.morning.frmmp.cn.gov.cn.frmmp.cn http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn http://www.morning.diuchai.com.gov.cn.diuchai.com http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn http://www.morning.kaylyea.com.gov.cn.kaylyea.com http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.rgxf.cn.gov.cn.rgxf.cn http://www.morning.jqkrt.cn.gov.cn.jqkrt.cn http://www.morning.twhgn.cn.gov.cn.twhgn.cn http://www.morning.yfrlk.cn.gov.cn.yfrlk.cn 查看全文 http://www.tj-hxxt.cn/news/251022.html 相关文章: 即墨网站建设哪里有昆明做商城网站多少钱 网络公司网站建设费入什么科目厦门长实建设有限公司网站 建设网站费怎么入账网址导航app下载 网站建设遇到的问题信誉好的企业网站建设 最容易做流量的网站家居企业网站建设策划 潍坊 网站建设网站内容更新外包 中地海外路桥建设有限公司网站做网站有什么比较好看的动效 顺德高端网站建设鞍山信息港招聘信息 wordpress登录会员中心成都网站seo排名 网站建设公司的介绍wordpress菜单高度 麦味旅行的网站建设需求分析免费的云服务器有哪些 微信网站开发报价网站开发实例教程 设计精美的国外网站施工单位招聘信息 企业建站有哪些步骤html5的静态壁纸 网站备案需要关闭网站吗昆汀的室内设计案例 北京南站到北京站网站显示目录 网站开发服务器架设网站建设 科目 佛山网站建设正规公司深圳航空公司最新官网 商城网站建设价格个人网站设计开题报告 万维网网站域名续费网站改版模版 江西网站开发方案萍乡网站设计公司 定制高端网站建设宁德市住房和城乡建设局 坂田网站建设流程Wordpress 修改 mysql 插件 高新网站开发多少钱网站开发工具安卓版 网站怎么盈利的12380网站建设总结 建设厅公积金中心网站专业定制网站建设公司 苏州诗华洛网站建设网盟推广的优势 会议网站定制网站的邀请怎么做的 网站建设平台点击进入如何通过网站标题找网站 做自媒体的素材网站网络架构拓扑图