原文参见这里:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.htmlpublic final class Class<T>extends Objectimplements Serializable, GenericDeclaration, Type, AnnotatedElementClass 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。 Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。 以下示例使用 Class 对象来显示对象的类名: 
     void printClassName(Object obj) {
         System.out.println("The class of " + obj +
                            " is " + obj.getClass().getName());
     }
 还可以使用一个类字面值(JLS Section 15.8.2)来获得命名类型(或 void)的 Class 对象。例如: 
     System.out.println("The name of class Foo is: "+Foo.class.getName());----------------------
不太清楚这些描述,希望你们谈谈自己的理解。

解决方案 »

  1.   

    粗糙理解 :  就是能告诉你 这个对象是什么类这里的对象obj 就是 object
      

  2.   

    Class类就是用来描述一个对象类的类。我们可以使用Car来描述现实中的car,然后我们再用Class来描述Car这个类模型。
    Class类描述可以得到某个类的大量信息,如这个类的方法,属性等,同时也可以用这种方法来调用某个类的方法。
    常用于反射机制。
    经常我们使用的IDE的自动代码提示,如我输入.的时候就会弹出这个类的所有方法和属性就可以用Class来实现。
      

  3.   

    Class类用来得到一个类的详细信息.
    楼主记得这点就行.
    具体建议你看java DOC.
    记得给分哦.
      

  4.   

    f_acme(沧海一声笑)说得不错,IDE中的代码提示也是通过这种方式完成的。请继续讨论,我不急着给分。如果分不够,我再添。
      

  5.   

    Class类创建的Class对象可以得到一个具体类(与这个Class对象相关的具体类型)的很多信息。
    如果你知道一个类的名字是“Cat”,那么你可以这样创建Cat对像,Class.forName("Cat"),当然还有其他的方法,也可以用new创建。
    Class类定义了很多方法,我觉得这些方法在动态使用与一个具体类或者具体对象的操作时变得非常有用。具体的方法你可以参见JDK Doucument 的Class类的说明。另外跟你说说,虚拟机创建一个对象,例如Dog类的,之前其实是先下载Class类,然后创建一个与这个Dog类相关的Class对象,然后通过这个Class对象再去创建一个Dog类的对象的。这个也就是你在文档里面看见的,所谓所有的对象都共用一个Class对象,因为你只要创建一个Dog的对象,那么都是用刚才创建的Class对象(与Dog相关)负责去创建的。Class对象就好像是一个类的生产商,因为他是生产商,当然他本来就知道生产出来的产品的具体规格,型号等等信息。就如一个出版《我爱的人就是楼主,你》这本书的出版社(Class对象),他出版的这本《我爱的人就是楼主,你》(创建的其中一个对象),出版商(Class对象)当然知道很多《我爱的人就是楼主,你》的信息(其中的这些信息就好像是一个Classs对象可以知道由这个Class对象创建的具体类型的对象(Dog)的很多里面的东西,如方法,字段名等)。Class对象你如果想要了解更多,我建议你去看看《深入Java虚拟机》其中有一个部分说到Class对象是如何先给下载,然后创建具体对象的。还有《Java编程思想》里面也有具体的说明了很多与Class相关的知识。