dr2tr 发表于 2013-1-27 05:06:34

java映射

映射是软件对自身进行分析的能力,主要由Java.lang.reflect 包和Java.lang.Class中的元素提供,在Java Bean中经常要用到它。它允许在运行时分析软件组建并动态的描述它的功能,而无须等到编译。比如,使用映射可以知道一个类所支持的方法、构造函数和域。java.lang.reflect包中有一个名为Member的接口,定义了得到这些信息的方法。另外还有类Constructor,Field,Method,Modifier方法,提供了有关构造器、域、方法、访问限定符等的相关信息。
使用映射时,首先用Class的forName方法获得一个类对象,然后用这个对象的getConstructor, getFields, getMethods方法分析。如程序:
 Class c = Class.forName("java.awt.Dimension");
  System.out.println("Constructors:");
  Constructor constructor[] = c.getConstructors();
  Field fields[] = c.getFields();
  Method methods[] = c.getMethods();
  for(int i = 0; i<methods.length; i++)
  {
   int modifiers = methods.getModifiers();
   if(Modifier.isPublic(modifiers)){
    System.out.println("public function:" + methods.getName());
   }   
  }
上面的程序还牵涉到了Modifier的使用。
页: [1]
查看完整版本: java映射