当前位置: 首页 > news >正文

p2p网站建设源码湖南seo优化价格

p2p网站建设源码,湖南seo优化价格,wordpress头部调用代码,网页微信版能破解通讯录吗目录 1、什么是注解#xff1f; 2、什么是元注解 1、Target() 2、Retention() 3、Documented 4、Inherited 3、如何自定义注解以解使用 4、注解的原理 本篇文章主要是介绍注解的概念、原理#xff0c;以及通过代码演示4种元注解、如何自定义注解。通过反编译的形式进… 目录 1、什么是注解 2、什么是元注解 1、Target() 2、Retention() 3、Documented 4、Inherited 3、如何自定义注解以解使用 4、注解的原理 本篇文章主要是介绍注解的概念、原理以及通过代码演示4种元注解、如何自定义注解。通过反编译的形式进一步认识注解的本质。 1、什么是注解 注释是给人看的注解是给程序看的 例如我们常见的单元测试Test注解实现父类方法的Override注解 2、什么是元注解 元注解就是负责修饰其他注解的注解 java定义了四种主要是用于规范当前注解的作用范围注解生命周期等。 分为Target()、Retention()、Documented、Inherited 其中Target()、Retention()是用得比较多的。 1、Target() 需要带参数表示规范这个注解可以用在类上或者方法等其他地方上。 ElementType这个枚举类定义了很多类型根据不同类型的定义决定被修饰的注解的使用地方 //表示我们的注解可以用在哪些地方可以进源码查看 Target(value {ElementType.METHOD}) ElementType的类型如下 2、Retention() 需要带参数表示注解在什么地方还有效描述注解的生命周期。有3种情况 SOURCES只作用在源码阶段字节码文件种不存在 CLASS保留到字节码文件阶段运行阶段不存在 RUNTIME运行时有效开发常用 RUNTIMECLASSSOURCES //表示注解在什么地方还有效一般就3种情况。RUNTIMECLASSSOURCES Retention(value RetentionPolicy.RUNTIME) 3、Documented 表示是否将我们的注解生成在javaDoc中 Documented 4、Inherited 说明子类可以继承父类中的该注解 Inherited 3、如何自定义注解以解使用 以下是自定义一个metaAnnotation注解 自定义注解里面的属性必须要带括号 下面拆分为几种形式学习 情况一注解值属性为value且仅有一个属性时使用该注解可以省略命名 Target(value {ElementType.METHOD})//表示该注解是定义在方法上的 Retention(value RetentionPolicy.RUNTIME) //表示该注解生命周期为运行时有效 public interface metaAnnotation{//自定义注解记得加括号String value(); //为value时注解可以省略命名} 使用方法 metaAnnotation(value时可以省略命名只有这个可以不成名的规范)public static void main(String[] args) {} 情况二设置默认值的注解使用时候可以选择不命名以及不传参数。 Target(value {ElementType.METHOD})//表示该注解是定义在方法上的 Retention(value RetentionPolicy.RUNTIME) //表示该注解生命周期为运行时有效 public interface metaAnnotation{//自定义注解记得加括号int id() default 1;int index() default -1; //如果默认值为-1代表不存在} 使用方法 metaAnnotation() public static void main(String[] args) { } 情况三多参数定义注解属性为value的必须要命名传参 其他属性的无默认值的也必须要命名传参 设置了默认值的属性也可以选择传参 参数也可以为数组的方式 Target(value {ElementType.METHOD})//表示该注解是定义在方法上的 Retention(value RetentionPolicy.RUNTIME) //表示该注解生命周期为运行时有效 public interface metaAnnotation{//自定义注解记得加括号String value(); //为value时注解可以省略命名int id() default 1;int index() default -1; //如果默认值为-1代表不存在String name();int age();String[] nameList(); } 使用方法 metaAnnotation(value value时可以省略命名只有这个可以不成名的规范,index 1,name 名字,age 99,nameList {名字1,名字1})public static void main(String[] args) {} 4、注解的原理 注解的本质 就是一个接口java中所有的注解都继承了Annotation接口。 我们使用注解注解(...)的时候其实就是一个实现类对象实现了该注解以及Annotation接口  先把注解编译成class再反编译还是以我们自定义的注解举例子 Target(value {ElementType.METHOD})//表示该注解是定义在方法上的 Retention(value RetentionPolicy.RUNTIME) //表示该注解生命周期为运行时有效 public interface metaAnnotation{//自定义注解记得加括号String value(); //为value时注解可以省略命名int id() default 1;int index() default -1; //如果默认值为-1代表不存在String name();int age(); } 以下是反编译后注解真正的源代码 我们可以看到我们写的注解的本质是一个接口继承了Annotation的接口 我们在注解里面自定义的属性其实都是抽象方法的形式 当我们使用注解的时候实际上就相当于创建注解的实现类对象这个实现类对象会封装注解的属性信息比如value的值index的值name的值等封装进去之后我们就可以通过这个对象去调用注解提供的方法来获取对应的属性值。 以上就是我对注解的理解啦希望能帮到大家有问题的地方欢迎大家一起讨论 后续会不断更新作品欢迎大家一起讨论学习。❤❤❤
http://www.w-s-a.com/news/748627/

相关文章:

  • 企业网站规划书vue适合什么样的网站开发
  • 个人网站备案名字网站设计的提案
  • 网站自己做还是找人做常州钟楼区邹区建设局网站
  • 网站文件上传wordpress修改asp做微网站
  • 妇女之家网站建设方案英语不行如何编程做网站
  • 深圳企业网站建设推广服务网站托管一年多少钱
  • wordpress 百度地图api网络seo天津
  • 网站营销咨询顾问餐饮加盟网站建设方案
  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结