Hello,大家好, 我是Shendi,这次给大家带来一系列密码学教程,这是第一篇.
首先,我们需要学习一下反射的概念
Class类:官方文档的介绍
Class类的类
表示正在运行的Java应用程序中的类和接口
Class.forName() 有2个重载方法
public static Class forName(String className)
public static Class forName(String className, boolean initialize,ClassLoader loader)
className: 类的完全限定名
initialize:是否初始化类(初始化类中的静态代码块)
loader:加载类的类加载器
调用forName(className) 相等于forName(className, true,loader)
ClassLoader类:
类加载器是负责加载类的对象。 ClassLoader类是一个抽象类。 给定一个类的binary name,类加载器应该尝试定位或生成构成 类的定义的数据。 典型的策略是将名称转换为文件名,然后从文件系统中读取该名称的“类文件”。
每个类对象包含reference
来定义它的ClassLoader
Classloder.loaderClass(String name)
方法内部调用的是:Classloder. loadClass(name, false)
Classloder. loadClass(String name, boolean resolve)
1:参数name代表类的全限定类名
2:参数resolve代表是否解析,resolve为true是解析该类
Class.forName:得到的class是已经初始化的,而Classloder.loaderClass是还没有链接的
下节开始加密...