摘要: 编译时类型和运行时类型:编译时无法预知属于哪个类,需要用反射机制,运行时动态获取类的类型。获取class对象:类被JVM加载后,都会生成class对象。(1)使用Class类的forName方法,如class.forName("java.lang.String")(2)调用某个类的class属性,如Person.class(3)调用某个对象的getClass()方法使用反射创建对象1 private Object getObject(String clazzName) {2 Class clazz = Class.forName(clazzName);3 return cl 阅读全文
posted @ 2014-02-21 21:51 菜鸟程序员的奋斗& 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 类加载是指JVM 的类加载器把类的class文件读入内存,并创建java.lang.Class对象。类也是一种对象,所有类都是java.lang.Class的实例类的连接:验证类是否正确的内部结构;为类的静态Field分配内存,并设置默认值;把类的二进制数据的符号引用替换为直接引用。类的初始化:对静态Field进行初始化,初始化的时机:(1)创建类的实例:new创建,反射,反序列化等(2)调用某个类的静态方法(3)访问类的静态Field或赋值(4)反射机制创建Class.forName("Person")(5)初始化某个类的子类(6)java命令运行某个主类特例:final 阅读全文
posted @ 2014-02-21 21:02 菜鸟程序员的奋斗& 阅读(378) 评论(0) 推荐(0) 编辑