Java核心技术之反射

来源:互联网 发布:点卡充值软件 编辑:程序博客网 时间:2024/06/07 09:55

1 Java的类加载

类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。

2 Class实例化的方式

  • 用new语句创建对象,这是最常见的创建对象的方法。
  • 通过工厂方法返回对象,如:String str = String.valueOf(23);
  • 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。如:Object obj = Class.forName(“java.lang.Object”).newInstance();
  • 调用对象的clone()方法。
  • 通过I/O流(包括反序列化),如运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。