Object o = new Object();
System.out.println(o.getClass().getName());
System.out.println(Object.class.getName());问题一:上面两行打印的结果是一样的,是不是说明o.getClass()和Object.class是一样的呢?为什么声明的变量要用getClass()的方法,而对象名可以直接用.class这个变量(莫非class这个成员变量是静态的,但是为什么声明的变量不能访问呢?)
问题二:Class这个类有什么用吗?通俗的讲一下吧
也许问的问题有点简单吧,但是我真的不明白其中的道理,有点想不透,希望大家多多帮助呀,呵呵

解决方案 »

  1.   

    看看这个吧
    http://tech.it168.com/j/2007-10-21/200710211609265.shtml
      

  2.   

    Class是用来支持运行时类型识别(RTTI),跟反射关系比较密切。
    简单的说就是你可以在程序运行的时候获取类型的具体信息。
      

  3.   

    如果添加.class作为任何类,接口或者基本类型的后缀,就可以得到该类的Class对象的引用
    Class对象返回对象实际对应的类
    Lz还是找本这方面介绍得比较详细的书看看,看看API文档也有帮助
      

  4.   

    我也不知道为什么对象只能调用getClass() 方法来得到Class
    而类或者接口可以直接用"."访问class属性.对象却不可以.
      

  5.   

    class可以用装载器装在生成对象。