每个数组均属于一个 Class 类对象,所有具有相同元素类型和维数的数组共享一个Class 对象。基本的 Java 类型(boolean, byte, char, short, int, long, float 和 double) 和 void 类型也可表示为 Class 对象 ????
啥意思...比方说 ABC 这个类? 然后ABC a = new ABC(); 那么a这个对象是ABC类的对象,还是Class类的对象? 我们都知道所有的java类都是继承了object这个类,在object这个类中有一个方法:getclass().这个方法是用来取得该类已经被实例化了的对象的该类的引用,这个引用指向的是Class类的对象
这句话啥意思????

解决方案 »

  1.   

    就我个人得理解:
    相同类(A类)得对象(这里叫A对象)都对应着一个Class对象,这个Class对象,不是用来描述A对象得,而是用来描述A类得,比如A类中有哪些构造函数,有哪些方法,哪些值域等,都是Class对象得作用,任何对象都有一个Class对象得引用,用以描述这个类,由于这些原因,所以Class对象用于探测类和反射是很有用的,比如一个对象给你了,要想探测他得类得一些信息,就可以获得Class对象 ,然后一一探测,这是反射技术最根本的,Class对象很重要。
      

  2.   

    听你的这番话我明白了大概
    但是 Class  T = Class.forName("java.lang.Thread"); 这句话不知道为什么在我的软件里面显示是一个错误的语句,应该没错呀?
      

  3.   

    答:
    1)基本的 Java 类型也可表示为 Class 对象?
    是的.如:int.class就是基本的 int类型的Class对象
    2)ABC a = new ABC(); 那么a这个对象是ABC类的对象,还是Class类的对象?
    a是ABC类的对象,而:a.getClass()返回的才是Class类的对象
    3)我们都知道所有的java类都是继承了object这个类,在object这个类中有一个方法:getclass().这个方法是用来取得该类已经被实例化了的对象的该类的引用,这个引用指向的是Class类的对象 
    这句话啥意思????
    每一个JAVA的对象如:上例中的ABC a = new ABC(); 中的a这个对象,在它的内存空间中(即:对象的空间中),有一个指针,专门指向该对象所属的Class对象.运行时,程序员随时都可用a.getClass()来取出这个a对象所属的Class对象.
      

  4.   

    我的理解就是:1.Java应用程序实际上都是由一个个对象组成,这些对象分别属于什么类,是从哪个类继承而来,这一系列的信息都是由Class类的实例来记录的;
    2.Class类的实例用于记录对象的类描述信息;
    3.如果在程序运行时,需要检索某个对象的相关类信息,可以调用该对象的getClass方法来获得记录其描述信息的Class类实例;Class类没有公共的构造方法,无法通过new运算符实例化,只能通过对象的getClass方法,或是通过Class的静态方法forName来获得实例。
    方法原型:static Class forName(String className) throws ClassNotFoundException
            加载给定的类,类名为包+类的全称,以字符串形式传递给className.该方法有可能抛出类加载异    (ClassNotFoundException),必须捕捉.方法原型:Object newInstance() throws InstantiationException,IllegalAccessException
             为当前的Class表示的类创建一个对象(只能调用默认构造方法)
      

  5.   

    在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。所以类中每个数组均属于一个 Class 类对象,且所有具有相同元素类型和维数的数组共享一个Class 对象。
      

  6.   

    Class 类用来描述类本身。每个 Class 对象都包含了某个类的描述数据,包括这个类有哪些成员、方法等等。
      

  7.   

    Thread是一个抽像类 你只能得到他的实现类
      

  8.   

    我Class用的并不多,用它来创建过对象Class.forName
      

  9.   

    Class是一个类,ABC也是一个类
    Calss  c1=new ABC().getClass();//
    1:返回的是对ABC这个类的Class类的对象,它描述了ABC这个类的域,方法,构造函数访问修饰符。
    2:每个类只有一个Class对象。
      

  10.   

    个人以为:因为JAVA是编译运行!CLASS这个类就十分有用!他能使JAVA虚拟机运到那里都可以得到一个对象的属于那个类!从而能得到这个对象的属性方法!这正是JAVA反射机制!一切框架的基础!
      

  11.   

    如果兄弟读过一些框架的代码或者说对中间件有过研究,那么Class对于你来说就非常好理解。一般来说,我们都是知道一个类的信息,比如属性、方法、构造方法等等,然后我们可以new一个对象,进行操作,而反射恰好相反(不然怎么叫反射?),它是通过一个对象获取这个对象所属类的各种信息。举一个例子,我们有一个父类,它有十个子类,然后写一个简单工厂,返回值是父类类型,然后工厂里面根据不同的情况new不同的子类返回,你在不知道这个简单工厂的具体代码的情况下,如何判断到底new的是哪一个子类?
      

  12.   

    说的再直白点,Class是个很抽象的类。世间万物,我们都可以定义出很多很多类型的类作为对象,人,动物等等万物皆对象,既然这样,那么类型也该是个对象,于是有了Class。它是用来描述某种类型。
    那么再看:ABC a = new ABC();  
    ABC是个类,或者说是个类型, 而这种“ABC的类型”我们又把他封装成一个对象。 
    Class c =  Class.forName("ABC");   不知道你听明白没有些抽象虽然不是很专业解释。但是对你再理解他应该有帮助