10、反射

来源:互联网 发布:看港澳台网络机顶盒 编辑:程序博客网 时间:2024/05/18 01:51
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

java在运行时通过两种方式识别对象和类的信息:

1、通过RTTI,它假定我们在编译时已经知道了所有的类型

2、通过反射机制,它允许我们在运行时发现和使用类的信息

RTTI在告知你对象的确切类型时,有一个限制:这个类型在编译时一直,这样才能使用RTTI。然而当你获取了一个指向不在自己的程序空间的对象的引用时,编译的时候根本没法货值这个对象所属的类。所以要用到反射机制。

Class类:

每当编写并编译一个新类,就会产生一个Class对象。为了产生这个类的对象,jvm就会使用被称为“类加载器”的子系统。

为了使用类而做的准备工作实际包含三个步骤:

1、加载

这个由类加载器执行。该步骤将查找字节码,并从这些字节码中创建一个Class对象。

2、链接

在链接阶段将验证类中的字节码,为静态域分配内存空间,并且如果必须的话,将解析这个类创建的其他类的引用。

3、初始化

如果该类具有超类,则对其执行初始化,执行静态初始器和静态初始化块。

 

反射机制允许更加动态的编码。


0 0