当前位置:编程学习 > JAVA >>

关于java.lang.Class 类的Class对象

一种说法:
    Class对象是java.lang.Class<T>这个类生成的对象,Class 类的实例表示正在运行的 Java 应用程序中的类和接口。Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。这是JAVA API上这么说的,也就是说Class对象是在加载时才产生的。

另一种说法是:
     每个类都有一个class对象。换言之,每当编写并且编译了一个新类,就会产生一个class对象(被保存在一个同名的.class文件中)。在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机首先检查这个类的class对象是否已经加载。如果尚未加载,JVM就会根据类名查找.class文件,并将其载入,一旦某个类的class对象被载入内存,它就被用来创建这个类的所有对象。这种说法中的Class对象是在编译后产生的并且保存在.class文件中。

小弟想知道,这两个Class对象是否是同一个对象?并且Class对象是在哪个阶段产生的?加载时还是编译后??
--------------------编程问答-------------------- 自己先顶个,第二种说法是在JAVA编程思想上看到得 --------------------编程问答-------------------- 第一种是Clsaa类 第二种是.Class为结尾的文件。也就是说项目中不管是.java和.jsp 通过编译都会生出.Class文件。
你的问题也就是 俩个不是同一个Class 他是在编译结束后产生的。 --------------------编程问答-------------------- 最后个问题,确认下哈问完后就结贴:
  
   你说的也就是:第二种class对象代表的是.class文件,对吧?
  
补充:Java ,  J2ME
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,