java的api文档中的例子
String.class.getName()
returns "java.lang.String"
class不是String中的成员,为什么String可以直接调用?
我是java初学者,谢谢!

解决方案 »

  1.   

    这个是继承自Object的
    任何一个类,都有一个 class对象,来表示自身的标记
      

  2.   

    String.class什么时候继承自Object了?class是java关键字,就像你用this、instanceof一样,是语法约定,String.class表示String类的对象,等价于"".getClass();getClass()方法才是从Object继承下来的
      

  3.   

    class是java关键字,就像你用this、instanceof一样,是语法约定,String.class表示String类的对象,等价于"".getClass();
    ============================================
    表达得有点问题吧。并不是等价于.getClass();
    String.class.getName()
    等价于
    Class c = String.class;
    String className = c.getName();.getClass()的用法则在Object o1 = "This is a string";
    Class c = o1.getClass();
    String className = c.getName();换句话说,未实例化之前,类可以通过 .class得到 class信息
    对于一个对象(类的实例化),可以通过.getClass()得到 class信息
      

  4.   

    不是等价于.getClass(),前面还有一个"",你把引号看丢了
    System.out.println(String.class=="".getClass());
      

  5.   

    class类是非常特殊的类,主要是用在反射上,是高级技术。
    Think in java 有这方面的介绍,但不是很多页,作者可能认为这块比较难,只做概要性的介绍,不过足够你解决你刚才所提出的问题了。
      

  6.   

    首先谢谢大家回复!
    sswhsz,ftiger说得听懂了,分主要给他俩,其他的大哥接友情分~
    谢谢!