反射机制

重点

在这里插入图片描述

路径

test05是Module(不过类路径下查找文件可以直接用文件名)
在这里插入图片描述

只记:1. 反射机制全为类路径
2. IO流文件为绝对路径/IDEA默认路径,而这种路径并不通用,所以实际开发中会用 通用绝对路径代替

反射机制常用类(操纵字节码文件)

Class < T >支持泛型,但实际开发中不用它的泛型,为什么?
因为反射机制就是为了构造出通用方法,让各种类共用。而泛型会限制数据类型,这就不能达到通用。所以不使用泛型,让它默认Object 以达复用!
在这里插入图片描述

reflect是个包
在这里插入图片描述

获取类的Class方法

Class.forName(“完整类名”)
在这里插入图片描述

对象.getClass()(这种方式基本数据类型不适用)
在这里插入图片描述

类名.class
注意:基本数据类型只能用这种方式
下面的 f.getName() = int !!!!!!!!!!!!!!!!!!!!

在这里插入图片描述
只有一份,所以内存地址是同一个:
在这里插入图片描述

通过 Class对象.newInstance();实例化对象

必须要有无参构造!!!
在这里插入图片描述

记住:

在这里插入图片描述

通用绝对路径

若空双引号,则返回当前类路径:…/out/production/test05/ (src下的文件也会同步到out下)
在这里插入图片描述

在这里插入图片描述

资源绑定器

只需要写文件名【properties后缀也不用写】(他会去类路径下找这个文件)
在这里插入图片描述
在这里插入图片描述

类加载器

Bootstrap ClassLoader
Extension ClassLoader
Application ClassLoader(也叫系统System类加载器)
在这里插入图片描述
所以,rt.jre和ext📂下的jre不用配置
在这里插入图片描述

双亲委派机制

双亲委派机制是为了载入类过程中的安全问题:
需要类加载时,首先父(启动类加载器)加载,没有找到的话母(扩展类加载器)加载,还是没有找到的话再由应用类加载器加载。

比如:防止一些人自己编写了java.lang.Object,想欺骗VM。
在这里插入图片描述

方法(不要去背,多敲多练,多敲多猜)

Field

了解方法:
在这里插入图片描述
在这里插入图片描述

重点:用反射机制设置、获得对象的属性

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

Method

在这里插入图片描述
反编译Method(了解一下) Modifier.toString(method.getModifiers())一次就可以,各种修饰符组合是一个特定的数字。
在这里插入图片描述

重点:用反射机制调用对象的方法

在这里插入图片描述

Constructor

反编译了解
在这里插入图片描述
在这里插入图片描述

获取父类、父接口

在这里插入图片描述

总结

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值