动态加载、获取信息
游戏加载地图
在有些游戏,需要加载地图,一般每张地图数据较大,地图数量较多,还会有新地图要下载,所以启动游戏时,不可能一次加载所有的地图。
而是需要哪张地图,就加载哪张
有更新时,先下载到本地,在加载
这就是 动态加载
迅雷加载插件
迅雷播放器有时不能播放视频时,会下载解码器,在动态加载,才能正常播放
其他软件
浏览器、QQ、开发工具等很多软件,都具有 动态加载 的功能
java 动态加载
同理,java有时也需要动态加载,当java软件已经发布,不能再改动。当有新功能时,或者需要一些信息时,就需要动态加载一些类,获取这些类的信息,并将这些类实例化,才能使用
java 动态加载 是通过 反射机制 实现的
概述
JAVA反射机制是在 运行状态中,
对于 任意一个 类,都能够知道这个类的所有 属性 和 方法
对于 任意一个 对象,都能够调用它的任意一个 属性 和 方法;
这种 动态获取的信息 以及 动态调用对象的方法 的功能称为java语言的 反射机制。
反射机制的功能
Java反射机制主要提供了以下功能:
- 在运行时 判断 任意一个对象所属的类。
- 在运行时 构造 任意一个类的对象。
- 在运行时 判断 任意一个类所具有的成员变量和方法。
- 在运行时 调用 任意一个对象的方法。
- 生成动态代理。
实现反射机制的类
Java中主要由以下的类来实现Java反射机制,这些类都位于java.lang.reflect包中:
- Class类:代表一个类。
- Constructor类:代表类的构造方法。
- Field类:代表类的成员变量(成员变量也称为类的属性)。
- Method类:代表类的方法。
- Array类:提供了动态创建数组,以及访问数组的元素的静态方法。
