如题,谢!

解决方案 »

  1.   

    Reflection(反射)
    在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods1。这种“看透class”的能力(the ability of the program to examine itself)被称为introspection(内省、内观、反省)。Reflection和introspection是常被并提的两个术语。
        Java有个Object class,是所有Java classes的继承根源,其内声明了数个应该在所有Java class中被改写的methods:hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Class object。    Class class十分特殊。它和一般classes一样继承自Object,其实体用以表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitive Java types(boolean, byte, char, short, int, long, float, double)以及关键词void。当一个class被加载,或当加载器(class loader)的defineClass()被JVM调用,JVM 便自动产生一个Class object。如果您想借由“修改Java标准库源码”来观察Class object的实际生成时机(例如在Class的constructor内添加一个println()),不能够!因为Class并没有public constructor。
      

  2.   

    我们习惯了直接写代码,可是从来没想过jdk怎么知道 class,private,field名,这些怎么运转程序员很少去想。
    反省就是用程序查看class里有哪些属性,那些方法等等。
      

  3.   

    反省?是反射(Reflection)还是自省(Introspect)?
      

  4.   

    最好看下J2se API 
    java.beans.Introspector 蛮有用的
      

  5.   

    反射机制:对象调用相应api获取类的构造函数 属性 方法等等 
    jdk1.5及以上版本支持
      

  6.   

    ls的晕啊。lz说的是自省机制,不是反射机制~!!