反射初步认识

语言

在这里插入图片描述在这里插入图片描述
x变为8 从String类型变为int类型
在这里插入图片描述

反射机制

在这里插入图片描述

反射过程

java.lang.Class 是类
class User{} 是关键字
在这里插入图片描述
在这里插入图片描述

反射功能

在这里插入图片描述
在这里插入图片描述

标题

括号內一定是完整类名
看到获得的Class对象可以显示类的内部信息:本类的构造方法 类名 注解 等
甚至这个类的父类的内部信息
在这里插入图片描述
在这里插入图片描述

  • 一个类在堆内存只有一个Class对象
    返回的都是同样的hashcode说明只有一个对象

  • 一个类被加载后,类的整个结构都被封装在Class对象中
    我们可以用这个对象来反射了~~
    在这里插入图片描述
    在这里插入图片描述

理解反射

正常创建对象是new CLass()
现在是反过来通过对象获得CLass类的名称
在这里插入图片描述
在这里插入图片描述

Class类的获取

在这里插入图片描述
这个Class类对象 里面含有当前类封装的内部信息在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输出在这里插入图片描述
通过对象获得类 通过类获得父类
在这里插入图片描述

前三种获取Class类的区别

在这里插入图片描述
第一种还在磁盘上 读取后就会加载该类到内存中 所以适合配置文件
第二种已经在堆内存生成了Class类对象
第三种已经执行 并且有了对象
在这里插入图片描述

只有我们自定义的类可以有对应的Class对象么?

java中所有的提供的API都是一种类啊 他们都有自己对应的Class对象
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值