Java学习:注解与反射

10 篇文章 0 订阅
文章介绍了Java中的注解,包括JDK自带的、第三方框架中的和自定义注解,强调了注解的非执行性质和元注解的作用,如@Retention和@Target。同时,概述了反射的概念,它是动态获取类和对象信息的一种机制,常用于代理模式。
摘要由CSDN通过智能技术生成

说在最开始的一句话:

我的理解肯定是不够的,我写的文档也只是个学习总结,不保证都对,只能说仅供参考,敬请指正,只不过以后我个人认识到错误后,不一定会回这个论坛修改,大概率只会修改我的本地文档而已。

注解的高度概括:

一些程序能看懂的注释,这些程序会执行 他们,但被注解的本身不是可执行语句,不会执行。

jdk自带有一些注解,如@Override等,使用时需要导入对应的包,他的本质也是有额外软件解析。

很多第三方软件有自己的注解,比如各种框架,数据库等等,使用时也不一定 需要编译,有时开发平台在编写代码的过程中就已经识别并执行了注解的操作,一般是配置引入。

自定义注解:

使用@interface关键字就可以定义,定义之后会自动继承java.lang.annotation.Annotation 接口,通常我会直接使用java.lang.*来覆盖掉。

配置的参数是有限制的:

String Class enum Annotation 数组类型

类型 变量名() [default 默认值]

如果只有一个配置参数的话,名字必须是value。

使用有参数的注解时需要指定参数:“参数名=参数值”,只有一个参数的时候可以直接写参数,不需要“参数名=”。

元注解指用于修饰注解的注解:

@Retention 用于标注Annotation的生命周期,传入一个枚举类型:RetentionPolicy. SOURCE/CLASS/RUNTIME

@Target 用于标注Annotation用来修饰什么元素(套娃),值的类型是ElemetType[],可选:ElementType.CONSTRUCTOR :构造器/FIELD:属性/

LOCAL_VARIABLE:局部变量/METHOD:方法/PACKAGE:包/PARAMETER:参数/TYPE:类、接口、注解类、 enum 声明

@Documented 它可以让javadoc把注释提取成文档,用它注解时,@Retention 必须被设置为 RetentionPolicy.RUNTIME

@Inherited 让注释有继承性

反射的高度概括:

动态获取类和对象的属性和方法的一套机制,这里包括所有类和对象。

代理模式就是反射的典型应用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值