反射机制

前言

需要了解反射机制的前提,首先得了解编译期和运行期两个概念。
编译期:由.java到.class的过程。
运行期:执行了.class

1.概念

反射的概念:在运行期,对于任意一个类都能获取到他的所有属性和方法,并且任意一个对象都能调用其任意一个方法。

2.作用

  1. 运行时判断对象所属的类。
  2. 运行时构造一个类的对象。
  3. 运行时判断一个类所具有的成员变量和方法。
  4. 运行时调用任意一个对象的方法。

3.使用场景

在这里插入图片描述
对于开发框架通用性的补充说明:
java中的对象有两种类型:1.编译时类型和运行时类型。编译时类型指在对象声明时所采用的类型。2.运行时类型指对象赋值时所采用的类型。
因此,程序在编译期无法预知该对象和类的真实信息,只能通过运行时来发现该对象和类的真实信息,而其真实信息(对象的属性和方法)通常通过反射机制来获取,这就是反射的核心功能。
可理解为运行时的增强。
在这里插入图片描述

4.获取Class类

使用反射机制最重要的就是Class类,获取class对象的方式有三种。
在这里插入图片描述
在这里插入图片描述
第一种本末倒置,第二种不具有通用性,常用第三种。
第一种,就是为了获取到class对象来创建对象,但是要获取class却需要创建一个具体对象。
第三种:

Class stuClass = Class.forName("cn.bdd.Student");

5.反射机制的常用类

在这里插入图片描述

6.使用

利用获取到的class对象,调用5中的API,实现具体操作。

后记

先到这儿,后边有时间再补充。若还是没看明白的。
下面附b站中老师的讲解。
b站课程
可以参考的书籍《java高级程序员面试笔试宝典》中对class API的阐述很详细。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值