经常看到:
String name = 类名.class.getName();
这种直接得到类名的字符串形式。想问问各位,class是哪个类的字段,在Object类中也没找到该字段。

解决方案 »

  1.   

    类名.class可以得到这个类的Class对象,Class对象有个实例方法是getName()
      

  2.   

    这是个与Class对象有关的问题:Class对象内含有与Class相关的各种信息(别称meta-class)
    我们的程序中的每个类都有一个相应的Class对象.每当新的类被编译
    完成,就会产生一个Class对象存储与相同的.class文件内.执行期间
    当你想要产生该class的对象是,JVM便会检查该型别的Class对象是
    否被加载.如果没被加载,JVM会根据名称找到.class文件并加载它.getName():Returns the name of the entity (class, interface, 
    array class, primitive type, or void) represented by this
    Class object, as a String.Class类的实例是用来表示Java程序在运行时载入的类(Class)或接口(Interface).
    Java程序在运行时每个类都会对应一个Class对象,
    可以从Class对象中得到与类相关的信息
    附上一例子,你看看吧,应该会明白点的
    public class MyClass { public static void main(String[] args) {
      String name = "ZhuJun"; 
            Class c = name.getClass(); 
            System.out.println("getName: " + c.getName()); 
            System.out.println("isInterface: " + c.isInterface()); 
            System.out.println("isPrimitive: " + c.isPrimitive()); 
            System.out.println("isArray: " + c.isArray()); 
            System.out.println("SuperClass: " + c.getSuperclass().getName()); 
     }
    }
    输出结果:getName: java.lang.String
    isInterface: false
    isPrimitive: false
    isArray: false
    SuperClass: java.lang.Object
      

  3.   

    现在我知道,类名.class 产生的是该类的Class类对象,而且对于同一类只能产生一个该类的Class类对象。还有点不明的是 类名.class 这种格式,一般 类名.XXX。 都是说 XXX是该类的成员或者该父类的公有成员。
    然而这里class 好像不是任何类的成员。??
      

  4.   

    String name = 类名.class.getName();
    请举个例子。
      

  5.   

    String name = 类名.class.getName();
    请举个例子。
    -----------------------------------------------class test{
       static{
          System.out.println( Boolean.class.getName());
       }
    }
      

  6.   

    类名.class是Class对象的句柄,每个被加载的类,在jvm中都会有一个Class对象与之相对应,如果要创建新的对象,直接使用Class对象的局部class.forName就可以了,不需要用new 类名。