可以理解成一个类的静态属性,就像数组的length属性一样。

解决方案 »

  1.   

    如 chliang(拉西) 所说,Class cla=ChemRB.class;
    cla里面存的是有关ChemRB这个类的有关信息。
      

  2.   

    应该是一个成员变量,然后调用这个对象的getName()方法,变黑因为class是关键字,不推荐作为变量名
      

  3.   

    我查了:
    java.lang.Object没有看到class属性.
    java.lang.Class也没有class的属性我的JDK是1.4.2的我又做了个测试.
     new Object().class;这句话是错误的.ChemRB.class 只不过是这个类的一个静态属性.或是继承来的.
    他有一人getName方法.或.他的类型是Class类型
      

  4.   

    Thinking in Java中是这样说的:  Java通过"类的字面常量"提供第2种方式来取得"指向Class对象"的引用. 如: Gum.class  另一种方式是 Class.forName("Gum")  我经常这样用:  Class cRef = MyClass.class;
      ......
      MyClass obj = (MyClass)cRef.newInstance();
      

  5.   

    我有一段代码是使用.class字面常量的,你看看吧!
    里面的Shape是自定义接口, Rectangle, Circle, Triangle, Ellipse都实现了Shape接口
    /*
     * ToolBar.java
     *
     * Created on 2004年10月29日, 下午8:23
     */package PolyDemo;
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;/**
     *
     * @author  XT
     */
    public class ToolBar extends JPanel
    {
        /** Creates a new instance of ToolBar */
        public ToolBar()
        {
          Shape s;      buttons = new ButtonGroup();
          shapes = new ArrayList();      this.setLayout(new GridLayout(1,0));
          for(int i=0;i<shapeTypes.length;i++)
          {
            try
            {
              s = (Shape)shapeTypes[i].newInstance();
              shapes.add(s);
              JToggleButton b = new JToggleButton(s.getClass().getName());
              buttons.add(b);
              this.add(b);
            }
            catch(InstantiationException e)
            {
              System.err.println("Cannot instantiate!");
            }
            catch(IllegalAccessException e)
            {
              System.err.println("Cannot Access!");
            }
          }
        }    public Shape getSelected()
        {
          int i;
          Shape s;
          for(i=0;i<shapes.size();i++)
          {
            JToggleButton b = (JToggleButton)this.getComponent(i);
            if(b.isSelected())
              break;
          }
          if(i>=shapes.size())
            s = null;
          else
            s = (Shape)shapes.get(i);      return s;
        }    public Class[] shapeTypes = {
          Rectangle.class,
          Circle.class,
          Triangle.class,
          Ellipse.class
        };    private ButtonGroup buttons;
        private ArrayList shapes;
    }
      

  6.   

    感谢各位高手指点。chemRB.class得到的应该是chemRB这个类的Class对象。但,class(小写)并不是一个看得见的定义在类中的属性,不知道有谁知道,这个class(小写c)是从哪里来的?java的代码里怎么找都找不到啊!
      

  7.   

    类的字面量表示,就和字符串常量差不多吧。
    字符串常量表示一个String实例
    类字面量表示一个Class实例
      

  8.   

    JAVA解释器在运行时自动探测类返回的一个类型,我感觉应该算是运行时的一个方法。
      

  9.   

    Class.forName() = Object.class = Object.getClass()
      

  10.   

    看看java编译器相关的文章吧。
      

  11.   

    同意Class.forName() = Object.class = Object.getClass()
    就是reference而已!不是对象
      

  12.   

    类对象有没有人听说过,class对于java组件开发很有用。
      

  13.   

    他是一个属性,每个类都有,可以使用BeanInfo得到,如:
    BeanInfo beanInfo = null;
    try {
    beanInfo = Introspector.getBeanInfo(String.class);
    } catch (IntrospectionException e) {
    return;
    }
    //他只会返回那些至少有一个get/set方法的属性,他是根据参数的类型判定那些orverload的方法中谁
    //是get/set方法,invoke这些方法便可以得到或是设定该参数的值
    PropertyDescriptor[] propertyDescriptor = beanInfo
    .getPropertyDescriptors();
    for (int i = 0; i < propertyDescriptor.length; i++) {
    PropertyDescriptor descriptor = propertyDescriptor[i];
    int a=0;

    }
    他只有readMethod,而writeMethod为null
      

  14.   

    public class Class {
             public Class forName(String name);
             public Class forName(String name, boolean resolve, ClassLoader cl);
             ...........
                          }  java.lang.Class class;
      

  15.   

    其实提问题的人给出的文档已经说明了根本内容:class是任何Java类型都有的一个字面量,这个字面量是一个Class类型的。所以任何Java类型都可以用.操作符获得这个字面量。之所以造成大家的迷惑,是由于没注意到任何Java类型,不仅是各种类,还有基本数据类型如int,(原文class, interface, array, or primitive type),所以zdsxj2002(阿狗),去查了object也没有能找到这个变量。
    Class type=int.class也可以用,返回的是java.lang.Integer