Java高级2-反射与注解

注意--此部分内容是java框架的前置知识,对于初学者比较陌生。

反射

反射:加载类,并运行以编程的方式解剖类中的各种成分(成员变量、方法、构造器)

获取类之后,再获取类、构造器等需要@test进行运行(别忘记)

温馨提示!!!

以下4种获取方法,按照图片中的代码顺序进行编程即可。

一、获取类

二、获取构造器

获取全部构造器:

获取某个构造器:

注意:

constructor2.setAccessible(true);//禁止检查访问权限-----不论私有或公共 都可访问(暴力反射)

三、获取成员变量

四、获取方法

获取方法归根结底还是为了执行方法:

注解

注解就是Java代码中的特殊标记。如:@Test @Override等。

作用:让其它代码根据注解决定怎么运行代码

此处:我们学习自定义标记

自定义注解

P0(此处只是随意创建--自定义----初学可按照此来,实际可自由定义-----> 若定义后,注意在实现类中按顺序进行实现(代码如下)

默认值:default -----> 不写则是默认值---> 需要写则需要按顺序定义

特殊属性value(),如果只有这一个----> 可以省略value()而只输入内容,如下方标黑注解处

P1

注意:

注解本质上是一个接口,这些接口都继承了Annotation接口.

 @注解 ,其实就是一个实现类对象. (这些对象中的方法都是抽象方法) --- 如图P1 和 P0,P1 相当于就是P0的视线类,虽然P0文件的代码是注解,但是实际上还是一个接口,这个接口继承了Annotation(注释)接口  

tips:关于其为抽象方法,可以通过反编译技术进行查看。

元注解

即:注解的注解。通常有以下两种:Target(空间角度)   Retention(时间角度) ---在注解代码中实现。

代码案例:

注意:@Retention的RUNTIME 为注解保留到运行阶段的方法(程序员常用)

注解的解析

即,判断类、对象、成员方法上是否存在注解,并把注解的内容解析出来。

怎么解析?想先解析谁,就先获取谁,再解析。

案例:(上注解代码 || 下实现代码)

Demo类:传参

输出结果:(上为类注解的解析 ||  下为方法注解的解析)----类在方法外,方法在方法内。

改变:可以将Demo代码放到实现类中,上面是为了代码看起来更加简洁,故不合并(编程常用)。

改变如下(有传参与实现类): 参考以下就可以了,不用学习。

总之,反射和注解的一般步骤都是获取再使用,二者都是框架的前提知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值